где проверить, есть ли у пользователя логин и как запретить не входить юзерам для входа в админку - PullRequest
0 голосов
/ 31 октября 2010

У меня есть все административные контроллеры в «папку администратора»,
, но я хочу проверить, является ли пользователь логином, и если нет, чтобы он мог просматривать его логин.введите только контроллер "сайта"
где мне нужно это проверить?

public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("elmah.axd");
        routes.IgnoreRoute("admin/page/Scripts/tiny_mce/templates/(.*/).htm");
        routes.IgnoreRoute("content/themes/(.*/)/(.*/).css");
         routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
        routes.IgnoreRoute("{*favicon}", new { favicon = @"(.*/)?favicon.ico(/.*)?" });


        routes.MapRoute(
            "Default", // Route name /Account/LogOn
            "admin/{controller}/{action}/{id}", // URL with parameters
            new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
            //new { controller = "Account", action = "LogOn", id = UrlParameter.Optional }
            );

       routes.MapRoute(
           "pagesseo", // Route name /Account/LogOn
           "{fName}", // URL with parameters
           new { controller = "website", action = "Index", fName = UrlParameter.Optional } // Parameter defaults
           );


    }

Ответы [ 3 ]

2 голосов
/ 31 октября 2010

Взгляните на следующий веб-сайт: http://www.dreamincode.net/forums/topic/161288-reroute-to-login-in-aspnet-mvc-using-authentication/

Это может помочь вам.В нем показано, как ограничить доступ и контролировать доступ к контроллерам или страницам.

Надеюсь, это поможет, будьте счастливы.

1 голос
/ 31 октября 2010

Вы можете использовать атрибут [Authorize] для установки ролей авторизации в действиях контроллера.

0 голосов
/ 31 октября 2010

Я предполагаю, что вы планируете использовать проверку подлинности Windows, что означает, что пользователь вошел в свою учетную запись Windows перед доступом к вашему веб-сайту.Вы хотите увидеть, соответствуют ли предоставленные учетные данные людям из списка «администраторы».В вашем файле web.config вы должны указать, что вы используете проверку подлинности Windows.Для этого вы помещаете <authentication mode="Windows"/> в раздел system.web.Затем в вашей защищенной странице OnInit вы добавляете что-то вроде следующего:

    if (!IsPostBack)
    {
        // if this is the first request for this page create the
        // validation object and record their arrival
        String userName = Request.ServerVariables["LOGON_USER"];
        String host = Request.UserHostAddress;
        UserValidation valid = new UserValidation();
        if valid.checkUser(userName, host)
        {
            logger.Info("User " + userName + " opened the reviewer form");
        } else
        {
             // ... redirect to error message page
        }
    }
...