如何在沒有ASP.NET網站管理工具的情況下「啓用/禁用角色」或「創建或管理角色」?我能夠使用此工具爲我的MVC3 Web應用程序創建用戶/管理用戶/啓用用戶等。但是,我想將此工具交給管理員以「創建/管理角色」,並且他們的工作站上沒有安裝Visual Studio。.NET網站管理工具
0
A
回答
1
你必須從你的控制器內部容易進入角色:
if (!Roles.RoleExists("Guest"))
Roles.CreateRole("Guest");
Roles.AddUserToRole(userName, "Guest");
所以,如果你只需要創建一個控制器和一個然後你可以製作你自己的工具。
當然,你會想限制訪問:
[Authorize(Roles = "Admin, Super User")]
public class RolesController : Controller
{
}
1
您將需要創建使用ASP.NET成員資格提供程序的自己的管理工具。
或者,http://websitemanager.codeplex.com/的開源項目可能會有用。
+0
我將嘗試按照Henk的建議創建自己的管理頁面。謝謝! – rk1962
0
可能你應該「教育」他們如何編輯網站配置文件。僅在編輯的角色是不是即使他們正在編輯XML這樣一個大問題,直接
1
這是我如何處理編輯用戶和角色。
在我的控制器中,我有以下代碼。不要介意IList你不需要它的夥伴。您需要在您的AccountController中對用戶進行建模(假設您正在爲您的用戶帳戶使用此功能)。
public ActionResult Edit(string UserName)
{
IList<Partner> partners = r.ListPartners();
MembershipUser user = Membership.GetUser(UserName);
UserProfile profile = UserProfile.GetProfile(user.UserName);
User model = new User();
model.UserName = user.UserName;
model.Email = user.Email;
model.ActiveAccount = user.IsApproved;
model.PartnerID = profile.PartnerID;
model.IsAdministrator = Roles.IsUserInRole(user.UserName, "Administrator");
model.IsApprover = Roles.IsUserInRole(user.UserName, "Approver");
model.IsContributor = Roles.IsUserInRole(user.UserName, "Contributor");
model.IsReporter = Roles.IsUserInRole(user.UserName, "Reporter");
IList<Partner> p = r.ListPartners();
ViewBag.Partners = new SelectList(p.AsEnumerable(), "PartnerID", "Name", model.PartnerID);
return View(model);
}
我後看起來像
//
// POST: /Account/Edit
[HttpPost]
public ActionResult Edit(User model)
{
MembershipUser user = Membership.GetUser(model.UserName);
UserProfile profile = UserProfile.GetProfile(model.UserName);
user.Email = model.Email;
user.IsApproved = model.ActiveAccount;
profile.PartnerID = model.PartnerID;
#region If Else Block for Role
if (Roles.IsUserInRole(model.UserName, "Administrator") && !model.IsAdministrator)
{
Roles.RemoveUserFromRole(model.UserName, "Administrator");
}
else if (!Roles.IsUserInRole(model.UserName,"Administrator") && model.IsAdministrator)
{
Roles.AddUserToRole(model.UserName, "Administrator");
}
if (Roles.IsUserInRole(model.UserName, "Reporter") && !model.IsReporter)
{
Roles.RemoveUserFromRole(model.UserName, "Reporter");
}
else if (!Roles.IsUserInRole(model.UserName, "Reporter") && model.IsReporter)
{
Roles.AddUserToRole(model.UserName, "Reporter");
}
if (Roles.IsUserInRole(model.UserName, "Contributor") && !model.IsContributor)
{
Roles.RemoveUserFromRole(model.UserName, "Contributor");
}
else if (!Roles.IsUserInRole(model.UserName, "Contributor") && model.IsContributor)
{
Roles.AddUserToRole(model.UserName, "Contributor");
}
if (Roles.IsUserInRole(model.UserName, "Approver") && !model.IsApprover)
{
Roles.RemoveUserFromRole(model.UserName, "Approver");
}
else if (!Roles.IsUserInRole(model.UserName, "Approver") && model.IsApprover)
{
Roles.AddUserToRole(model.UserName, "Approver");
}
#endregion
Membership.UpdateUser(user);
return RedirectToAction("ManageUsers", "Account");
}
希望這給你的,你需要做的事情的想法。我假設你可以用你的用戶模型創建一個視圖。
+0
感謝您的示例代碼。 – rk1962
相關問題
- 1. 網站管理工具
- 2. 網站管理工具
- 3. 谷歌網站管理員工具
- 4. 客戶網站管理工具
- 5. 網站管理工具在Visual Studio 2012
- 6. ASP.Net網站管理工具鏈接
- 7. 抓取Google網站管理員工具
- 8. 開發工具來管理網站
- 9. Asp.net網站管理工具錯誤
- 10. 404錯誤/網站管理員工具
- 11. Google網站管理員工具API python
- 12. 網站管理工具的錯誤
- 13. 網站管理員工具API
- 14. 網站管理工具未啓動
- 15. App Engine +網站管理員工具
- 16. 網站管理員工具API和PHP
- 17. Asp.net網站管理工具與SqlCeMembership
- 18. IIS的網站管理工具
- 19. 谷歌網站管理員工具API
- 20. 谷歌網站管理員工具:網站地圖不索引?
- 21. 谷歌網站索引(谷歌網站管理員工具)
- 22. 網站管理員工具網站地圖提交
- 23. XML網站地圖得到由網站管理員工具
- 24. Schema.org和網站管理員工具豐富的片段工具
- 25. 網絡管理工具
- 26. 從ASP.NET網站管理工具列出並管理網頁上的用戶
- 27. 將ASP.NET網站管理工具功能帶到網頁
- 28. 將ASP.NET網站管理工具部署到網頁上
- 29. 谷歌網站管理員工具報告奇怪的網址
- 30. 管理網站
我會嘗試你的解決方案。謝謝! – rk1962
我試過你的解決方案,它工作。非常感謝! – rk1962
@ rk1962請問您是否願意分享如何製作您自己的角色管理器工具的代碼?我可以在我的種子方法中使用這個答案,但是我擔心一旦這段代碼被運到生產中會發生什麼。 – Komengem