我刚在家里的控制器中实现了以下功能:
<Authorize(Roles:="Administrator")> _
<Authorize(Roles:="Manager")> _
<Authorize(Roles:="General")> _
Function Index() As ActionResult
Return View()
End Function
但即使我已登录/ Home / Index或@RenderBody调用它,也会返回登录页面和以下网址:/ Account / LogOn?ReturnUrl =%2f
我也没有在Global文件中更改任何路由。有什么建议吗?
更新
我后来发现我添加了这些
<Authorize(Roles:="Administrator")> _
标签会经常问我密码吗?
我的ViewStart:
@Code
Dim r = Roles.GetRolesForUser()
If r.Contains("Administrator") Then
Layout = "~/Views/Shared/_AdminLayout.vbhtml"
ElseIf r.Contains("Manager") Then
Layout = "~/Views/Shared/_ManagerLayout.vbhtml"
ElseIf r.Contains("General") Then
Layout = "~/Views/Shared/_GeneralLayout.vbhtml"
Else
Layout = "~/Views/Shared/_NoUserLayout.vbhtml"
End If
End Code
答案 0 :(得分:1)
尝试将它们合并为一个,而不是3个单独的属性,如:
<Authorize(Roles:="General,Manager,Administrator")>