Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Не включается SqlRoleProvider
|
|||
|---|---|---|---|
|
#18+
Привет всем! Такая проблема. Пишу под MVC. Хочу использовать функционал ролей в своем веб приложении. При обращении к System.Web.Security.Roles получаю сообщение An exception of type 'System.Configuration.Provider.ProviderException' occurred in System.Web.dll but was not handled in user code Additional information: Функция диспетчера ролей не включена. Что вполне логично. Пытаюсь включить SqlRoleProvider по этому руководству http://msdn.microsoft.com/en-us/library/aa702542(v=vs.110).aspx соответсвенно добавил в web.config это Код: xml 1. 2. 3. 4. 5. и это Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. и тут на этапе проверки роли ГДЕ РАНЬШЕ ПРОВЕРКА РОЛИ РАБОТАЛА И БЕЗ МЕНЕДЖЕРА Код: c# 1. Получаю вот такую загадочную ошибку An exception of type 'System.Data.SqlClient.SqlException' occurred in System.Web.dll but was not handled in user code Additional information: Could not find stored procedure 'dbo.aspnet_CheckSchemaVersion'. Что это за процедура не понятно. Если гуглить, то вроде это из старой версии .NET 2.0 что-то. Пытался следовать инструкциям по использованию http://stackoverflow.com/questions/2165908/could-not-find-stored-procedure-dbo-aspnet-checkschemaversion Но aspnet_regsql.exe падает с ошибкой Исключение: Во время выполнения файла SQL 'InstallCommon.sql' произошла ошибка. Номер ошибки SQL - 40508, а сообщение SqlException: USE statement is not supported to switch between databases. Use a new connection to connect to a different Database. Вот такие пироги не могу заюзать RoleProvider ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2014, 20:44 |
|
||
|
Не включается SqlRoleProvider
|
|||
|---|---|---|---|
|
#18+
palich12 Код: xml 1. 2. 3. 4. 5. выпили из проекта и забудь про это навсегда. естественно будет ошибка, если поключаешь Identity, у него свой провайдер ролей, который не надо конфигурировать в web.config. http://www.asp.net/identity/overview/getting-started/introduction-to-aspnet-identity http://habrahabr.ru/post/227351/ http://codearticles.ru/articles/2451 информации по теме, в том числе на русском, больше чем дофига ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 13:54 |
|
||
|
Не включается SqlRoleProvider
|
|||
|---|---|---|---|
|
#18+
hVostt, Так как же обратится к System.Web.Security.Roles?? Я видел эти статьи там только [Autorize] используют, да он работает а вот System.Web.Security.Roles ругается на отсутсвие провайдера ролей. Просто мне нужно получать список ролей пользователя но без постоянного дерганья базы а из сессии, как это сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 16:51 |
|
||
|
Не включается SqlRoleProvider
|
|||
|---|---|---|---|
|
#18+
palich12мне нужно получать список ролей пользователя но без постоянного дерганья базы а из сессии, как это сделать? У пользователя админ отобрал роль "Менеджер" и назначил роль "Уборщик". Пользователь так и остался менеджером. Профит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 16:56 |
|
||
|
Не включается SqlRoleProvider
|
|||
|---|---|---|---|
|
#18+
palich12hVostt, Так как же обратится к System.Web.Security.Roles?? Я видел эти статьи там только [Autorize] используют, да он работает а вот System.Web.Security.Roles ругается на отсутсвие провайдера ролей. Просто мне нужно получать список ролей пользователя но без постоянного дерганья базы а из сессии, как это сделать? можно, почитайте информацию по ссылкам. там всё есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 17:00 |
|
||
|
Не включается SqlRoleProvider
|
|||
|---|---|---|---|
|
#18+
МСУ, Мне не чтобы назначать, мне чтобы показывать данные. Например есть список объектов, некотре доступны однойроли некоторые другой. Чтобы пользователь видел в списке все доступные ему объекты нужно получить список его ролей. Но на каждом обнавлении страницы лишний раз дергать базу не есть хорошо. Можно конечно закешировать список ролей, но это уже какой-то велосипед. Ведь их неверняка можно вытащить из Identity ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 17:03 |
|
||
|
Не включается SqlRoleProvider
|
|||
|---|---|---|---|
|
#18+
palich12, какая у вас Visual Studio? версия? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 17:06 |
|
||
|
Не включается SqlRoleProvider
|
|||
|---|---|---|---|
|
#18+
hVostt, VS Ultimate 2013 Update 3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 17:10 |
|
||
|
Не включается SqlRoleProvider
|
|||
|---|---|---|---|
|
#18+
palich12hVostt, VS Ultimate 2013 Update 3 ну так и создайте тогда MVC 5 новый проект, там всё будет, авторизация, и роли, и кеширование ролей в куках, и [Authorize(Roles="role1,role2")] -- всё это уже там есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 17:12 |
|
||
|
Не включается SqlRoleProvider
|
|||
|---|---|---|---|
|
#18+
hVosttpalich12hVostt, Так как же обратится к System.Web.Security.Roles?? Я видел эти статьи там только [Autorize] используют, да он работает а вот System.Web.Security.Roles ругается на отсутсвие провайдера ролей. Просто мне нужно получать список ролей пользователя но без постоянного дерганья базы а из сессии, как это сделать? можно, почитайте информацию по ссылкам. там всё есть. Да я не спорю что можно, но везде это через System.Web.Security.Roles делают. Но у меня он говорит что не включен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 17:13 |
|
||
|
Не включается SqlRoleProvider
|
|||
|---|---|---|---|
|
#18+
hVostt, Да я так и сделал, и там все есть. Я же написал что Autorize нормально работает. System.Web.HttpContext.Current.User.IsInRole тоже нормально работает. Но вот список ролей пользователя из кук получить не могу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 17:15 |
|
||
|
Не включается SqlRoleProvider
|
|||
|---|---|---|---|
|
#18+
palich12Но у меня он говорит что не включен. в Identity исопльзуется свой провайдер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 17:15 |
|
||
|
Не включается SqlRoleProvider
|
|||
|---|---|---|---|
|
#18+
hVostt, так как к нему обратится? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 17:17 |
|
||
|
Не включается SqlRoleProvider
|
|||
|---|---|---|---|
|
#18+
palich12hVostt, так как к нему обратится? Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 17:24 |
|
||
|
Не включается SqlRoleProvider
|
|||
|---|---|---|---|
|
#18+
palich12МСУ, Мне не чтобы назначать, мне чтобы показывать данные. Например есть список объектов, некотре доступны однойроли некоторые другой. Чтобы пользователь видел в списке все доступные ему объекты нужно получить список его ролей. Но на каждом обнавлении страницы лишний раз дергать базу не есть хорошо. Можно конечно закешировать список ролей, но это уже какой-то велосипед. Ведь их неверняка можно вытащить из Identity Ну а я про что. У пользователя забрали роль, следовательно он не должен видеть данные для этой роли. Но он будет видеть эти данные, т.к. роли юзера у тебя сидят в сессии. Забудь про сессию, это зло. Есть БД с ней и работай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 17:27 |
|
||
|
Не включается SqlRoleProvider
|
|||
|---|---|---|---|
|
#18+
palich12Но вот список ролей пользователя из кук получить не могу все роли пользователя: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 17:30 |
|
||
|
Не включается SqlRoleProvider
|
|||
|---|---|---|---|
|
#18+
hVosttpalich12Но вот список ролей пользователя из кук получить не могу все роли пользователя: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. Отлично, то что нужно. СПАСИБО!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 17:33 |
|
||
|
Не включается SqlRoleProvider
|
|||
|---|---|---|---|
|
#18+
О, дошло, наконец ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 17:33 |
|
||
|
Не включается SqlRoleProvider
|
|||
|---|---|---|---|
|
#18+
МСУО, дошло, наконец ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 17:34 |
|
||
|
Не включается SqlRoleProvider
|
|||
|---|---|---|---|
|
#18+
А вот заставить провайдера брать роли не из ClaimsIdentity а из базы напрямую при обработке AuthorizeAttribute у меня так и не получилось. Думаю и не получится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2014, 06:13 |
|
||
|
Не включается SqlRoleProvider
|
|||
|---|---|---|---|
|
#18+
hVosttpalich12hVostt, так как к нему обратится? Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. palich12Но вот список ролей пользователя из кук получить не могу В сложившейся ситуации, с учетом возможного кэширования, так правильнее: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2014, 06:25 |
|
||
|
Не включается SqlRoleProvider
|
|||
|---|---|---|---|
|
#18+
Алексей КА вот заставить провайдера брать роли не из ClaimsIdentity а из базы напрямую при обработке AuthorizeAttribute у меня так и не получилось. Думаю и не получится. http://codearticles.ru/articles/2485 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2014, 09:50 |
|
||
|
Не включается SqlRoleProvider
|
|||
|---|---|---|---|
|
#18+
МСУАлексей КА вот заставить провайдера брать роли не из ClaimsIdentity а из базы напрямую при обработке AuthorizeAttribute у меня так и не получилось. Думаю и не получится. http://codearticles.ru/articles/2485 Получается, что сконфигурировать это на уровне AuthenticationOptions не получится. Нужно мутить своего провайдера. Какая жаль... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2014, 10:23 |
|
||
|
Не включается SqlRoleProvider
|
|||
|---|---|---|---|
|
#18+
Алексей КМСУпропущено... http://codearticles.ru/articles/2485 Получается, что сконфигурировать это на уровне AuthenticationOptions не получится. Нужно мутить своего провайдера. Какая жаль... Какая жалость? Меняй роли правильно, на уровне приложения, сбрасывай SecurityStamp, какая разница откуда берутся роли? МСУ предлагает другой подход, при любом запросе выковыривать роли из БД, тоже правильно, но вовсе не обязательно так делать. Тем более в системах по-сложнее по-любому придётся пилить свою систему авторизации и получения разрешений (особенно на уровне так называемом row-level), хочешь или не хочешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2014, 10:41 |
|
||
|
Не включается SqlRoleProvider
|
|||
|---|---|---|---|
|
#18+
hVosttМеняй роли правильно, на уровне приложения, сбрасывай SecurityStamp...Накой мне SecurityStamp? Обсуждали ведь это как-то уже... Я проверяю логин при каждом запросе, производительность позволяет. Но в этом случае роли зря гоняются туда-сюда в куках. Это жаль... Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2014, 11:24 |
|
||
|
|

start [/forum/topic.php?fid=18&fpage=66&tid=1357055]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
25ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 264ms |
| total: | 389ms |

| 0 / 0 |
