2012-01-12 2 views
2

Я указал глаголы для ролей в web.config. Это отлично работает, роль наблюдателя перенаправляется на страницу входа, если роль пытается отправить на странице Test.aspx. Пример:Аутентификация форм. Получить разрешенный глагол для роли, указанной в web.config

<location path="Test1.aspx"> 
    <system.web> 
     <authorization> 
     <allow roles="Administrator" /> 
     <allow roles="Observer" verbs="GET" /> 
     <deny users="*"/> 
     </authorization> 
    </system.web> 
    </location> 

    <location path="Test2.aspx"> 
    <system.web> 
     <authorization> 
     <allow roles="Administrator" /> 
     <allow roles="Observer" /> 
     <deny users="*"/> 
     </authorization> 
    </system.web> 
    </location> 

Но это немного запутывает пользователя при попытке POST на странице Test.aspx. Я хочу сообщить пользователю, что он/она не разрешается публиковать, прежде чем нажимать что-либо. Что-то вроде этого:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
    If *Not User.Role("Observer").Verbs("Post").Allowed* then 
     uiSave.enabled = false 
    End if 
End Sub 

Итак, вопрос: Где я могу получить доступ к этой информации?

ответ

0

Использование:

if(User.IsInRole("Observer")){ 
//code here 
} 

Example here

вам не нужно, чтобы проверить Глагол, потому что вы уже знаете, что пользователи в роли наблюдателей не разрешение на usethe Публиковать глагол

+0

Ах, но я буду имеют роли, которые имеют полный доступ к некоторым страницам и только GET доступ к некоторым. – user1145002

+0

Обновлено до оригинального вопроса, чтобы лучше объяснить – user1145002

+0

Ммм, ОБ, я не думаю, что есть способ. Возможно, вам придется написать свою собственную логику. – robasta

 Смежные вопросы

  • Нет связанных вопросов^_^