我正在修改用C#MVC編寫的系統。授權屬性不使用角色MVC C#
我剛剛在管理員區域內建立了額外的功能,允許管理員創建具有有限管理員功能的用戶帳戶。我已經把以下在每個控制器的新功能:
[Authorize(Roles = "Administrator")]
不過,如果我登錄使用受限管理員帳戶,並導航到這個頁面,它讓我通過。
我很難過,因爲我似乎正在做這個正確的方式,但我也是相當新的MVC,有什麼我可以檢查?我沒有改變任何web.config文件,所以應該沒問題。
我知道上面的信息有限,沒有尋找現成的解決方案,更多關於我可以檢查以糾正問題的建議。
感謝
編輯:
這是新的角色/賬號是如何產生的。也很容易,這是第一次嘗試,沒有太多驗證。
[Authorize(Roles = "Administrator")]
[HttpPost]
public ActionResult AddSalesManager(App.Web.Areas.Administrator.Models.SalesManager model, FormCollection formValues)
{
if (formValues["Cancel"] != null)
{
return RedirectToAction("Index");
}
if (!string.Equals(model.password, model.confirmpassword))
{
ModelState.AddModelError("password", "Password and Confirmation must match");
}
if (ModelState.IsValid)
{
using (ModelContainer ctn = new ModelContainer())
{
// First, create the user account inside the ASP.Net membership system.
//
Membership.ApplicationName = "App";
Roles.ApplicationName = "App";
if (!Roles.RoleExists("LimitedAdmin"))
Roles.CreateRole("LimitedAdmin");
// MembershipCreateStatus createStatus = MembershipService.CreateUser(model.email, model.password, model.email);
if (Membership.GetUser(model.email) == null)
{
Membership.CreateUser(model.email, model.password);
Roles.AddUserToRole(model.email, "LimitedAdmin");
}
}
}
return RedirectToAction("Index");
}
發佈你如何設置的角色會有所幫助。 – jfar 2010-11-30 16:00:35
會做,兩秒鐘。 – 109221793 2010-11-30 16:06:05