2011-03-12 1 views
0

IHttpModule을 구현하는 자체 인증 모듈을 작성했다고 가정합니다. 그것은 실제로 끝나지 않았지만 좋은 자원이 있으므로 알아낼 수 있습니다.ASP.NET의 defaut 인증 모듈 교체

사용자 정의 모듈을 Web.config에 추가하는 방법에 대한 자습서도 있습니다. 하지만 어떻게하면 을 기본 모듈 인으로 바꿀 수 있습니까? 어떻게 실행 경로에서 기본 인증 모듈을 제거합니까?

Web.config에서 다음 줄을 삭제하면됩니까?

<authentication mode="Forms"> 
    <forms loginUrl="~/Account/LogOn" timeout="2880"/> 
</authentication> 

기본 인증 모듈을 제거해도 여전히 작동합니까?

왜냐하면 내가 사용하지 않더라도 그 모듈을 제거 할 필요가 없다 ...하지만 약간의 프로세서 시간이 절약되고 기분이 나아질 것이다.

쉽지 않았지만 어려운 부분이었습니다. HttpContext 구현을 대체 할 수 있습니까? Session이라는 자체 세션 클래스가 있으며 이 HttpContext이되기를 원하지 않습니다. User 속성을 HttpContext으로 바꾸고 싶습니다. 그래서 나는 내 자신의 구현을 HttpContext으로 만들 필요가 있다고 생각하고 그것을 어떻게 든 사용하도록 내 응용을 강제해야한다. 어떻게 할 수 있습니까?

귀하가 선호하는대로 제 질문 중 일부 또는 전부를 자유롭게 답변 해주십시오.

+5

인증, 세션 등을 대체하여 해결할 수있는 실제 문제는 무엇입니까? 기존 ASP.NET 런타임의 제한 사항은 무엇입니까? 아마도 ASP.NET이 아닌 다른 것을 볼 수 있습니까? –

+0

커스텀'MemebershipProvider'를 작성하지 않으시겠습니까? –

+0

@Sanjeevakumar Hiremat : 실제 제한이 없습니다 ... 기본 멤버쉽 시스템이 마음에 들지 않습니다. 암호, 보안 질문 등을 저장하도록 강요합니다. 필요하지 않다는 생각을합니다 (OpenID 인증을 사용하고 있습니다) . 따라서 내 데이터 모델에는 자연스럽지 않습니다. 또한 그것은 세션을 브라우저가 열린 상태에서 마지막으로 처리합니다 ... (SO처럼) 로그 할 때까지 계속 유지하려고합니다. 마지막으로 한 사용자에게 더 많은 세션을 허용하려고합니다. 이 모든 것들을 고려해 볼 때 기존 세션을 수정하는 대신 내 자신의 세션 시스템을 작성하는 것이 더 명확하고 쉽다는 결론을 내 렸습니다. – drasto

답변

0

mode에서 None까지 설정할 수 있습니다. 나는 당신의 HttpContext 뭔가 다른 이름을 것입니다.

+0

"나는 당신의 HttpContext를 다른 것으로 이름 짓는다"는 것이 무슨 뜻입니까? – drasto

+0

@Dastro 당신은 'CustomHttpContext'라고 부를 수 있습니다. –

+0

미안하지만 여전히 이해가 안갑니다. 그래서'HttpContext'를 상속 한 새로운 클래스'CustomHttpContext'를 만들었습니까? 그리고 무엇보다? 기본'HttpContext' 대신에 어떻게 사용하게할까요? – drasto

2
<system.webServer> 
<modules> 
    <remove name="FormsAuthenticationModule" />  
    <remove name="UrlAuthorization" />  
    <remove name="DefaultAuthentication" />  
</modules> 
</system.webServer> 

어때요?

+0

흠 지금은 그것이 작동한다는 것을 알기가 어려울 수도 있음을 알았습니다. (모듈은 사용되지 않습니다.) 이것이 작동하는지 또는 그것을 확인하는 방법을 제안 할 수 있습니까? – drasto

+0

이 방법으로'DefaultAuthentication' 모듈을 정말로 제거 할 수 있습니까? 나는 시도하고 이것은 오류 메시지를 생성합니다. http://stackoverflow.com/q/17565717/57428 – sharptooth

+0

lockHead.config에서 lockItem = "true"라고 생각합니다. – takepara