Я пытался использовать роль поставщика, но он давал мне головные боли в течение недели.C# MVC Должен ли я использовать БД для поставщика ролей
Все, что я пытаюсь сделать, это позволить, чтобы пользователь мог видеть «Admin» страницу, если они админ (я добавил Администратор Coloumn в моей базе данных, чтобы быть 0 или 1)
Здесь это код в мой контроллер для входа
if (user.Admin == 1)
{
addUserToRole(user.UserID, "Admin");
}
else
{
}
здесь метод, чтобы добавить пользователя к роли
public void addUserToRole(String user, String role)
{
if (!Roles.RoleExists(role))
Roles.CreateRole(role);
Roles.AddUserToRole(user, role);
}
для контроллера администратора, я хочу, чтобы войти в этот
[Authorize(role= "admin")]
Вот мой WebConfig
<profile defaultProvider="DefaultProfileProvider">
<providers>
<add name="DefaultProfileProvider" type="System.Web.Providers.DefaultProfileProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=xxxxxxxxxxxxxxx" connectionStringName="DefaultConnection" applicationName="/" />
</providers>
</profile>
<membership defaultProvider="DefaultMembershipProvider">
<providers>
<add name="DefaultMembershipProvider" type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=xxxxxxxxxxxxx" connectionStringName="DefaultConnection" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />
</providers>
</membership>
<roleManager defaultProvider="DefaultRoleProvider" enabled="true">
<providers>
<add name="DefaultRoleProvider" type="System.Web.Providers.DefaultRoleProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=xxxxxxxxxxxxx" connectionStringName="Database2Entities1" applicationName="/" />
</providers>
</roleManager>
мой вопрос я должен использовать базу данных (то есть я должен был добавить ролей таблицы и т.д.) для использования этого поставщика ролей. Если да, то другой способ я мог бы реализовать это?
Я уверен, что для этого вам нужна база данных. Но если вы настроили его правильно, таблицы должны быть настроены автоматически и могут быть заполнены через ваше приложение. – DrCopyPaste