Рейтинг:
2
Member 10748088
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)]
public class NoDirectAccessAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (filterContext.HttpContext.Request.UrlReferrer == null ||
filterContext.HttpContext.Request.Url.Host != filterContext.HttpContext.Request.UrlReferrer.Host)
{
filterContext.Result = new RedirectToRouteResult(new
RouteValueDictionary(new { controller = "Home", action = "Logout", area = "Main" }));
}
}
}
Затем добавьте атрибут к контроллеру.
Richard Deeming
Это может быть разумный ответ, если ОП использовал MVC.
Многочисленные ссылки на .aspx
в этом вопросе можно было бы предположить, что они используют веб-формы, где этот ответ не будет работать.
Рейтинг:
0
Shanalal Kasim
пользователь получает доступ к прямому url-адресу(Myapplication/page1.aspx) после успешного входа в систему, поэтому авторизация не работает
jim lahey
именно так это и должно работать, не так ли? Если пользователь входит в систему, он или она имеет доступ к вещам, которые анонимные пользователи не имеют..
Shanalal Kasim
пользователь может получить доступ к этой странице через страницу по умолчанию а не напрямую
jim lahey
Что ты имеешь в виду?
Shanalal Kasim
В списке страниц по умолчанию все меню, нажав на меню страница загружается внутри страницы по умолчанию(с помощью элемента управления Telerik). предположим, пользователь нажимает на page1.меню aspx в то, что страница загрузки внутрь по умолчанию.aspx страниц (url-адрес, браузер Мое_приложение/по умолчанию.аспн этот URL-адрес не меняется, пользователь нажимая кнопку Далее меню, то страница будет загружаться внутри страницы по умолчанию).
моя проблема заключается в при тип пользователей какой-либо прямой URL-адрес(за исключением Мое_приложение/по умолчанию.aspx или Мое_приложение/логин.аспн) то, что URL-адрес будет перенаправлять на Мое_приложение/по умолчанию.aspx-файл
jim lahey
Что это за Телерик такой?
Shanalal Kasim
Пожалуйста, проверьте демо URL-адрес
http://demos.telerik.com/aspnet-ajax/window/examples/radwindowandmdi/defaultcs.aspx
Рейтинг:
0
psychic6000
поиск и изучение "переменных sassion" и мастера сайта (необязательно)
при входе в систему используйте в качестве переменной сеанса для хранения регистрационной информации,
каждая страница или ваша главная страница должна проверять наличие этой переменной в сеансе, если это нормально, она позволяет пользователю загружать страницу, в противном случае она перенаправляет его на страницу входа в систему
на странице входа в систему:
Session.add("myvarableName", "Value")
на главной странице или в каждой загрузке страницы
с#
if (Session["myvariableName"]!=Null & Session["myvariable"]!= "value") Response.Redirect("Login.aspx",true);
глаг .чистая
if Session("myvariableName") isnot nothing and Session("myvariable") = "value"
Response.Redirect("Login.aspx",true)
end if