账户更改完成,初步添加账户注册界面

This commit is contained in:
dathlin
2017-08-06 20:36:28 +08:00
parent fb126143f2
commit 0d0dd6d3ef
6 changed files with 158 additions and 3 deletions

View File

@@ -35,6 +35,18 @@ namespace 软件系统浏览器模版.Controllers
return View(); return View();
} }
//Get
/// <summary>
/// 权限不足时显示的界面
/// </summary>
/// <returns></returns>
[AuthorizeUser]
public ActionResult LackOfAuthority()
{
return View();
}
/// <summary> /// <summary>
/// 网站的联系人界面 /// 网站的联系人界面
/// </summary> /// </summary>
@@ -184,5 +196,56 @@ namespace 软件系统浏览器模版.Controllers
} }
return View(); return View();
} }
//POST
/// <summary>
/// 设置新的账户的请求
/// </summary>
/// <returns></returns>
[HttpPost]
[AuthorizeUser]
[ValidateAntiForgeryToken]
public ActionResult SetManagementAccount(FormCollection fc)
{
if (Request.IsAjaxRequest())
{
string Accounts = fc["NewAccounts"];
UserAccount account = Session[SessionItemsDescription.UserAccount] as UserAccount;
OperateResultString result = UserClient.Net_simplify_client.ReadFromServer(CommonHeadCode.SimplifyHeadCode., Accounts);
if (result.IsSuccess)
{
ViewData["alertMessage"] = "账户更改成功!";
return PartialView("_MessageSuccessPartial");
}
else
{
ViewData["alertMessage"] = result.Message;
return PartialView("_MessageDangerPartial");
}
}
else
{
ViewData["alertMessage"] = "请求无效!";
return PartialView("_MessageDangerPartial");
}
}
//GET
/// <summary>
/// 注册新的账户界面
/// </summary>
[HttpGet]
[AuthorizeAdmin]
public ActionResult RegisterAccount()
{
return View();
}
} }
} }

View File

@@ -29,4 +29,25 @@ namespace 软件系统浏览器模版.Models.Account
} }
} }
} }
/// <summary>
/// 验证系统的账户是否符合管理员的信息
/// </summary>
public class AuthorizeAdminAttribute : AuthorizeAttribute
{
public override void OnAuthorization(AuthorizationContext filterContext)
{
if (filterContext.HttpContext.Session[SessionItemsDescription.UserAccount] is UserAccount account)
{
if (account.Grade < AccountGrade.SuperAdministrator)
{
filterContext.Result = new RedirectToRouteResult(new RouteValueDictionary(new { controller = "Home", action = "LackOfAuthority" }));
}
}
else
{
filterContext.Result = new RedirectToRouteResult(new RouteValueDictionary(new { controller = "Account", action = "Login" }));
}
}
}
} }

View File

@@ -0,0 +1,14 @@

@{
ViewBag.Title = "权限不足";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<div class="alert alert-dismissible alert-danger" style="margin:15px 15px">
<button type="button" class="close" data-dismiss="alert">&times;</button>
<h4>错误信息</h4>
<p>非常抱歉,您的权限不足,无法进行操作!</p>
</div>

View File

@@ -13,16 +13,16 @@
<div> <div>
@{ string updateId = Guid.NewGuid().ToString();} @{ string updateId = Guid.NewGuid().ToString();}
@using (Ajax.BeginForm("SetAnnouncement", null, new AjaxOptions { HttpMethod = "Post", UpdateTargetId = updateId, InsertionMode = InsertionMode.Replace }, @using (Ajax.BeginForm("SetManagementAccount", null, new AjaxOptions { HttpMethod = "Post", UpdateTargetId = updateId, InsertionMode = InsertionMode.Replace },
new { @class = "form-horizontal" })) new { @class = "form-horizontal" }))
{ {
<fieldset> <fieldset>
@Html.AntiForgeryToken() @Html.AntiForgeryToken()
<legend style="font-family:'Microsoft YaHei UI',Arial, Helvetica, sans-serif">账户管理</legend> <legend style="font-family:'Microsoft YaHei UI',Arial, Helvetica, sans-serif">账户管理</legend>
<div class="form-group"> <div class="form-group">
<label for="Announcement" class="col-lg-2 control-label">账户json数据</label> <label for="NewAccounts" class="col-lg-2 control-label">账户json数据</label>
<div class="col-lg-10"> <div class="col-lg-10">
<textarea class="form-control" id="Announcement" name="Announcement" placeholder="json数据" required rows="25">@ViewData["accounts"].ToString()</textarea> <textarea class="form-control" id="NewAccounts" name="NewAccounts" placeholder="json数据" required rows="25">@ViewData["accounts"].ToString()</textarea>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">

View File

@@ -0,0 +1,55 @@

@{
ViewBag.Title = "注册新的账户";
Layout = "~/Views/Shared/_Layout.cshtml";
}
@section scripts
{
<script src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script>
}
<br />
<div>
@{ string updateId = Guid.NewGuid().ToString();}
@using (Ajax.BeginForm("RegisterAccount", null, new AjaxOptions { HttpMethod = "Post", UpdateTargetId = updateId, InsertionMode = InsertionMode.Replace },
new { @class = "form-horizontal" }))
{
<fieldset>
@Html.AntiForgeryToken()
<legend style="font-family:'Microsoft YaHei UI',Arial, Helvetica, sans-serif">注册新的账户<small>如果账户名已存在,会注册失败</small></legend>
<div class="form-group">
<label for="username" class="col-lg-2 control-label">用户名:</label>
<div class="col-lg-10">
<input type="text" class="form-control" id="username" name="username" placeholder="唯一标志的用户名" required />
</div>
</div>
<div class="form-group">
<label for="password" class="col-lg-2 control-label">密码:</label>
<div class="col-lg-10">
<input type="password" class="form-control" id="password" name="password" placeholder="用户登录的密码" required />
</div>
</div>
<div class="form-group">
<label for="Announcement" class="col-lg-2 control-label"></label>
<div class="col-lg-10">
<textarea class="form-control" id="Announcement" name="Announcement" placeholder="1000字以内" required rows="10">@ClientsLibrary.UserClient.Announcement</textarea>
</div>
</div>
<div class="form-group">
<div class="col-lg-10 col-lg-offset-2">
<button type="submit" class="btn btn-primary">提交公告</button>
</div>
</div>
</fieldset>
}
</div>
<div id="@updateId">
</div>

View File

@@ -228,6 +228,8 @@
<Content Include="Views\Shared\_MessageWarningPartial.cshtml" /> <Content Include="Views\Shared\_MessageWarningPartial.cshtml" />
<Content Include="Views\Home\ChangeAnnouncement.cshtml" /> <Content Include="Views\Home\ChangeAnnouncement.cshtml" />
<Content Include="Views\Home\ManagementAccount.cshtml" /> <Content Include="Views\Home\ManagementAccount.cshtml" />
<Content Include="Views\Home\LackOfAuthority.cshtml" />
<Content Include="Views\Home\RegisterAccount.cshtml" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Folder Include="App_Data\" /> <Folder Include="App_Data\" />