我熟悉:
WebSecurity.IsCurrentUserInRole("Admin")
但这似乎不再起作用。如果在我使用 SimpleMembership 时用户处于角色中,是否有另一种方法可以签入我的控制器?
我熟悉:
WebSecurity.IsCurrentUserInRole("Admin")
但这似乎不再起作用。如果在我使用 SimpleMembership 时用户处于角色中,是否有另一种方法可以签入我的控制器?
您可以使用
if (User.IsInRole("Admin"))
{
}
和 webConfig
<system.web>
<roleManager enabled="true" />
....
评论后
你可以使用这样的东西:
foreach (string rolesForUser in Roles.GetRolesForUser(User.Identity.Name))
{
if (User.IsInRole(rolesForUser))
{
}
}
我认为有一种优雅的方法可以做到这一点......
您还需要设置 RoleProvider
由于您使用的是 SimpleMembership,因此您可能也应该使用SimpleRoleProvider
。您可以通过调用Roles.CreateRole
或使用 RoleManager Web 界面以编程方式创建角色。
<roleManager enabled="true" defaultProvider="simple">
<providers>
<clear/>
<add name="simple" type="WebMatrix.WebData.SimpleRoleProvider,
WebMatrix.WebData"/>
</providers>
</roleManager>