0

Я пытаюсь найти способ управления ролями для существующего приложения WebForms ASP.NET 4.0). Это не MVC. Я не могу изменить существующий проект на MVC или .NET 4.5, поэтому, пожалуйста, предоставьте решения, учитывая мои требования.SimpleMembership WebForms Asp.net 4.0 ролей

Я рассматривал SimpleMembership как возможный способ управления ролями без необходимости установки целого членства (aspnet_regsql.exe) с таблицами, которые мне не нужны.

Это сайт интранета. Пользователи будут аутентифицироваться через их идентификаторы окон, поэтому нет входа per se. Большинство пользователей не будут в какой-либо пользовательской базе данных, и я хочу контролировать роли, чтобы, если они не были специально предоставлены дополнительные роли, у них все еще есть доступ (возможно, публичная роль или простая роль).

Для пользователей, которые будут в базе данных, я хочу иметь возможность назначать роли (Admin, Manager и т. Д.), Чтобы они имели больший доступ к различным страницам и функциям. Пользователь не может иметь никакой роли (или публичной, как упоминалось выше) или иметь одну роль или несколько ролей.

Итак, возможно ли это? Могу ли я иметь систему на основе ролей только для тех пользователей, которые находятся в таблице, и заставить всех остальных обращаться к частям сайта без необходимости входа в систему?

В SQL Server существует существующая таблица пользователей. Я должен использовать это, а не текстовый файл/xml/manual. Страница администратора будет создана для назначения ролей пользователям и добавления пользователей.

Кажется, что я должен быть в состоянии использовать SimpleMembership в соответствии с этим: http://blog.osbornm.com/2010/07/21/using-simplemembership-with-asp-net-webpages/

Хотя он говорит, что мне нужно добавить _start.cshtml с некоторым MVC кодом, это будет хорошо, пока я не необходимо преобразовать весь сайт в MVC.

В настоящее время я получаю сообщение об ошибке с этим:

The type 'WebMatrix.WebData.WebSecurity' exists in both 'c:\Windows\Microsoft.NET\assembly\GAC_MSIL\WebMatrix.WebData\v4.0_1.0.0.0__31bf3856ad364e35\WebMatrix.WebData.dll' and 'c:\Windows\Microsoft.NET\assembly\GAC_MSIL\WebMatrix.WebData\v4.0_2.0.0.0__31bf3856ad364e35\WebMatrix.WebData.dll' 

Я думаю, что когда-то исправить это, скорее всего, установка web.config, что я должен быть в порядке.

ответ

0

Оказывается, что все, что я должен был сделать, чтобы заставить его работать было получить соответствующие настройки в web.config

<add key="webPages:Version" value="2.0" /> 
<add key="enableSimpleMembership" value="false" /> 
<add key="autoFormsAuthentication" value="false" /> 

и в файле _start.cshtml добавьте код

@{ 
    WebSecurity.InitializeDatabaseConnection("ConnectionStringNameHere", "Users", "ID", "LanID", false); 
} 
Смежные вопросы