C #, ASP.NET-컨트롤러 메서드에 대한 액세스 제한

LittleAngryProgrammer

웹 사이트의 주요 주문 부분으로 이동하기 전에 사용자가 로그인해야하는 일종의 주문 시스템을 구축하고 있습니다. 예를 들어, 사용자가 데이터베이스에있는 경우 세션에 ID와 UserName을 할당하는 로그인 컨트롤러가 있습니다.

public ActionResult Login(AccountAccess userObj)
{
    if (ModelState.IsValid)
    {
        using (SC_DBEntities db = new SC_DBEntities())
        {
            var accountObj = db.Users_Account.Where(u => u.Account_UserName.Equals(userObj.Account_UserName)).FirstOrDefault();
            if (accountObj != null)
            {
                var accessObj = db.Users_Access.Where(a => a.Account_ID.Equals(accountObj.Account_ID) && a.Access_Password.Equals(userObj.Access_Password)).FirstOrDefault();
                if (accessObj != null)
                {
                    Session["Account_ID"] = accountObj.Account_ID.ToString();
                    Session["Account_UserName"] = accountObj.Account_UserName.ToString();
                    return RedirectToAction("Index", "Home");
                }
            }
        }
    }
    return View(userObj);
}

여기서 내가 원하는 것은 해당 Session이 null 인 경우 다른 메서드 작업에 대한 액세스를 차단하는 것입니다. 예를 들어 제품 페이지에 액세스하고 싶지만 로그인하지 않은 경우 로그인 페이지로 리디렉션됩니다.

아직 ASP.NET을 처음 접하는 사람이므로 세션 외에이 효과를 더 효율적으로 얻을 수있는 방법이 있다면 알려 주시기 바랍니다.

KryptoBeard

ActionFilterAttribute를 사용할 수 없습니까?

    public class CheckSession: ActionFilterAttribute
    {
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
           var MySession = HttpContext.Current.Session

           if(MySession["Account_ID"] == null || MySession["Account_UserName"]== null)
           {
              filterContext.Result = new RedirectResult(string.Format("/Account/"));
           }  
        }
    }

그런 다음 컨트롤러 액션에 배치하기 만하면됩니다. 컨트롤러에 배치하여 해당 컨트롤러 내부를 모두 확인할 수도 있습니다.

[CheckSession]
public ActionResult Purchase()
{
 ....
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

ASP.NET Core : 컨트롤러의 메서드에 대한 내보기에서 확인란 (값) 목록에 액세스하고 싶습니다.

분류에서Dev

ASP.NET Core : 컨트롤러의 메서드에 대한 내보기에서 확인란 (값) 목록에 액세스하고 싶습니다.

분류에서Dev

asp.net mvc의 컨트롤러에서 특정 사용자에게 작업 방법에 대한 액세스를 제공하는 방법

분류에서Dev

ASP.NET 웹 서비스에 대한 액세스 제한

분류에서Dev

ASP.NET MVC 컨트롤러 메서드의 HTTpPost 메서드에 대한 여러 인수 형식

분류에서Dev

Asp.Net MVC의 컨트롤러에 대한 Dictionary <,> 바인딩

분류에서Dev

Asp.Net MVC의 컨트롤러에 대한 Dictionary <,> 바인딩

분류에서Dev

웹 API 컨트롤러에 대한 경로 정의 asp.net

분류에서Dev

동일한 컨트롤러에서 컨트롤러 작업에 대한 ASP.NET MVC 게시

분류에서Dev

ASP.Net의 데이터 액세스 계층에 대한 정적 메서드

분류에서Dev

동일한 컨트롤러 내에서 컨트롤러 메서드에 액세스하는 방법

분류에서Dev

컨트롤러 수준에서 ASP.NET Core 3.1의 JsonOutputFormatter에 대한 대안

분류에서Dev

ASP.NET 5에서 웹 API 컨트롤러에 대한 HttpContext 모의

분류에서Dev

asp.net에서 WebService.asmx에 대한 액세스 차단

분류에서Dev

403 Ajax 요청에서 CodeIgniter 컨트롤러에 대한 액세스 금지

분류에서Dev

requirejs가있는 컨트롤러에서 앱에 대한 Marionette JS 액세스

분류에서Dev

asp.net 웹 사이트에서 액세스 할 때 자동 증가 필드에 대한 INSERT 명령

분류에서Dev

ASP.NET Core 3.1 MVC에서 한 컨트롤러에서 다른 컨트롤러로 값 전달

분류에서Dev

ASP.Net Web Api 2 컨트롤러에서 angularjs $ http.get에 대한 사용자 지정 메서드를 사용하는 대안

분류에서Dev

컨트롤러 작업에 대한 액세스 제한 MVC4의 사용자 목록

분류에서Dev

CakePHP 3 : 로그인없이 전체 컨트롤러에 대한 액세스 제한

분류에서Dev

AngularJS : 컨트롤러에 정의 된 함수에 대한 전역 액세스

분류에서Dev

cakephp 컨트롤러에 대한 직접 액세스 비활성화

분류에서Dev

새 컨트롤러의 작업에 대한 Yii2 액세스

분류에서Dev

컨트롤러에 대한 Azure App Service 무단 사용자 액세스

분류에서Dev

여러 컨트롤에 대한 스레드 안전 호출 vb net

분류에서Dev

Angularjs : 여러 컨트롤러에서 액세스 가능한 서비스 설정

분류에서Dev

Angular-지시문을 컴파일 한 후 컨트롤러 메서드에 액세스 할 수 없습니다.

분류에서Dev

다른 asp.net 웹 API 컨트롤러에 대한 다른 인증 메커니즘

Related 관련 기사

  1. 1

    ASP.NET Core : 컨트롤러의 메서드에 대한 내보기에서 확인란 (값) 목록에 액세스하고 싶습니다.

  2. 2

    ASP.NET Core : 컨트롤러의 메서드에 대한 내보기에서 확인란 (값) 목록에 액세스하고 싶습니다.

  3. 3

    asp.net mvc의 컨트롤러에서 특정 사용자에게 작업 방법에 대한 액세스를 제공하는 방법

  4. 4

    ASP.NET 웹 서비스에 대한 액세스 제한

  5. 5

    ASP.NET MVC 컨트롤러 메서드의 HTTpPost 메서드에 대한 여러 인수 형식

  6. 6

    Asp.Net MVC의 컨트롤러에 대한 Dictionary <,> 바인딩

  7. 7

    Asp.Net MVC의 컨트롤러에 대한 Dictionary <,> 바인딩

  8. 8

    웹 API 컨트롤러에 대한 경로 정의 asp.net

  9. 9

    동일한 컨트롤러에서 컨트롤러 작업에 대한 ASP.NET MVC 게시

  10. 10

    ASP.Net의 데이터 액세스 계층에 대한 정적 메서드

  11. 11

    동일한 컨트롤러 내에서 컨트롤러 메서드에 액세스하는 방법

  12. 12

    컨트롤러 수준에서 ASP.NET Core 3.1의 JsonOutputFormatter에 대한 대안

  13. 13

    ASP.NET 5에서 웹 API 컨트롤러에 대한 HttpContext 모의

  14. 14

    asp.net에서 WebService.asmx에 대한 액세스 차단

  15. 15

    403 Ajax 요청에서 CodeIgniter 컨트롤러에 대한 액세스 금지

  16. 16

    requirejs가있는 컨트롤러에서 앱에 대한 Marionette JS 액세스

  17. 17

    asp.net 웹 사이트에서 액세스 할 때 자동 증가 필드에 대한 INSERT 명령

  18. 18

    ASP.NET Core 3.1 MVC에서 한 컨트롤러에서 다른 컨트롤러로 값 전달

  19. 19

    ASP.Net Web Api 2 컨트롤러에서 angularjs $ http.get에 대한 사용자 지정 메서드를 사용하는 대안

  20. 20

    컨트롤러 작업에 대한 액세스 제한 MVC4의 사용자 목록

  21. 21

    CakePHP 3 : 로그인없이 전체 컨트롤러에 대한 액세스 제한

  22. 22

    AngularJS : 컨트롤러에 정의 된 함수에 대한 전역 액세스

  23. 23

    cakephp 컨트롤러에 대한 직접 액세스 비활성화

  24. 24

    새 컨트롤러의 작업에 대한 Yii2 액세스

  25. 25

    컨트롤러에 대한 Azure App Service 무단 사용자 액세스

  26. 26

    여러 컨트롤에 대한 스레드 안전 호출 vb net

  27. 27

    Angularjs : 여러 컨트롤러에서 액세스 가능한 서비스 설정

  28. 28

    Angular-지시문을 컴파일 한 후 컨트롤러 메서드에 액세스 할 수 없습니다.

  29. 29

    다른 asp.net 웹 API 컨트롤러에 대한 다른 인증 메커니즘

뜨겁다태그

보관