Настройка MVC3 и членства API - PullRequest
       6

Настройка MVC3 и членства API

1 голос
/ 01 декабря 2011

Я использую код участника по умолчанию, полученный при создании нового приложения MVC.
// Контроллер аккаунта:

        if (ModelState.IsValid)
        {
            // Attempt to register the user
            MembershipCreateStatus createStatus;
            Membership.CreateUser(model.UserName, model.Password, model.Email, null, null, true, null, out createStatus);

            if (createStatus == MembershipCreateStatus.Success)
            {
                FormsAuthentication.SetAuthCookie(model.UserName, false /* createPersistentCookie */);
                return RedirectToAction("Index", "Student");
            }
            else
            {
                ModelState.AddModelError("", ErrorCodeToString(createStatus));
            }
        }

Как запретить пользователю переходить непосредственно к контролю ученика перед регистрацией. У меня есть другие страницы, которые я не должен позволять пользователю видеть перед регистрацией. Если пользователь пытается перейти на страницу перед регистрацией, я хочу перенаправить его в Account Controller.

Также, как мне показать определенные страницы (Действия) для конкретных пользователей, в приложении asp.net я использовал приведенный ниже код в файле web.config, это похоже на mvc?

 <location path="Admin/Test.aspx">
   <system.web>
      <authorization>
       <deny users="?"/>
       <allow users="*"/>
     </authorization>
   </system.web>
 </location>

Спасибо

Ответы [ 2 ]

1 голос
/ 01 декабря 2011

Для авторизации, связанной с действием, вы можете использовать атрибут [Authorize] для вашего метода действия. Это потребует от пользователя аутентификации, прежде чем он сможет выполнить этот метод Action в контроллере yoru.

[Authorize]
public ActionResult YourActionMethod()
{
    // your code here
}

Что касается ваших правил авторизации web.config, вы можете создать web.config в каталоге для тех представлений, которые вы хотите защитить только для авторизованных пользователей (или определенных групп, пользователей и т. Д.). Вы просто поместите файл web.config с правилами авторизации в этот каталог.

0 голосов
/ 01 декабря 2011

.NET MVC Предоставьте очень хороший вариант - используйте фильтры и атрибуты Custome для выполнения проверки перед загрузкой действия.

Например, вам нужно ограничить доступ к какому-либо действию, поэтому вам просто нужно установить атрибут [Authorize] в верхней части этого. Как это:

[Authorize]
public ActionResult Index()
{
   return View();
}

Если вы хотите ограничить доступ ко всем Действиям в этом контроллере, вы должны просто поместить этот атрибут в начало класса контроллера. Как это:

[Authorize]
public HomeComtroller : Controller
{
    public ActionResult Index()
    {
       return View();
    }
}

Дополнительные параметры, например, если вы хотите предоставить доступ только тому пользователю, который является нужным пользователем. Роль:

[Authorize(Roles = "Admin")]
    public ActionResult Index()
    {
       return View();
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...