2014-07-11 3 views
2

새로운 asp.net ID, 특히 2.x 버전을 사용하기 시작했습니다. 나는 빈 웹 사이트에서 시작했다. 왜냐하면 나는 모든것의 시작부터 시작해서 내 앱에 들어가는 모든 것을 제어하기를 좋아하기 때문이다. 나는 진짜로 automagical 재료를 좋아하지 않는다.asp.net identity 기본 로그인 페이지를 설정하는 방법

디렉터리의 web.config의 일부 설정을 통해 보안 설정되도록 디렉터리를 설정했습니다. 나는 그것을 원하지 않는

/Account/Login?ReturnUrl=%2fUsers%2fDefault.cshtml 

: 로그인 한 사용자가 아닌이 보호 디렉토리의 페이지에 액세스하려고하면, 사용자는 리디렉션되고있다. 나는 사용자가로 리디렉션 할 :

/Login.cshtml?ReturnUrl=*someurl* 

가 어떻게 내 login.cshtml 파일 대신 기본 항목에 일어날 수있는 리디렉션을 받고 가야합니까

? 나는 응용 프로그램에서 수행 한

뭔가 일 : 나는 응용 프로그램의 web.config 파일을 설정 한

가 가지고 내 startup.cs 파일에서

<authentication mode="Forms">  
    <forms loginUrl="~/Login.cshtml" timeout="3600"/>  
</authentication>  

을, 내가 가진 :

using Microsoft.AspNet.Identity; 
using Microsoft.Owin; 
using Microsoft.Owin.Security.Cookies; 
using Owin; 
[assembly: OwinStartup(typeof(GolfGameApp.Startup))] 
namespace GolfGameApp 
{ 
    public class Startup 
    { 
     public void Configuration(IAppBuilder app) 
     { 
      app.UseCookieAuthentication(new CookieAuthenticationOptions 
      { 
       AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie, 
       LoginPath = new PathString("/Login.cshtml"), 
       LogoutPath = new PathString("/Logout.cshtml") 
      }); 
     } 
    } 
} 

친구와 대화를하고 내 디렉토리의 _PageStart.cshtml 파일로 이동하여 사용해야하는 것처럼 보입니다. 나는 그것과 의도 한대로 일을했습니다. 몇 가지 제안 사항이 있으면 알려주십시오. 나는 항상 더 나은 것을하려고 노력하고 있으므로 멀리 제안하십시오. :-)

답변

2

웹에서 Forms Authentication을 구성했고 코드에서 OWIN을 보았습니다. OWIN을 선택하면 web.config에 다음을 입력해야합니다.

<authentication mode="None">  
</authentication> 

잘못된 방식으로 MVC를 사용하려고합니다.
loginUrl="~/Login.cshtml"은 MVC 모델에서는 의미가 없습니다. URL은 컨트롤러 및 경로를 통해 형성됩니다. * .chtml 파일은 절대로 직접 노출되지 않습니다.

ASPNET.Identity, MVC (면도날), Owin, EF는 다른 점입니다. 프로젝트를 처음부터 시작하기 전에 어떤 기술과 dll을 사용하고 어떻게 조합 할 것인지 결정해야합니다.

+0

감사합니다. 내가 찾고 있던 것에 대한 답을 찾았으니 이것에 돌아 오는 걸 잊었습니다. –

관련 문제