증권 MS Forms 인증 및 SqlRolesProvider를 사용하여 IIS7 (Server '08)에서 실행되는 ASP.NET 3.5 응용 프로그램에서 작업하고 있습니다. (테이블을 생성하기 위해 aspnet_regsql 도구를 사용했습니다).ASP.NET 3.5 IIS7 역할 보안 구현
세 가지 역할 : SysAdmins, AppAdmins 및 Users가 있습니다. 모든 사용자는 사용자이고 사용자는 SysAdmins, AppAdmins 또는 둘 모두에있을 수 있습니다.
SysAdmins 및 AppAdmins가 아닌 사용자에 대한 액세스를 차단하는 Admin 디렉토리를 얻을 수없는 것 같습니다. 그것은 로그인 한 모든 사용자 또는 아무도 허용하지 않습니다. 나는 현재이 구성 블록 모두를 생각
<configuration>
...
<system.web>
<authentication mode="Forms">
<forms loginUrl="/client/security/login.aspx" timeout="480" />
</authentication>
<authorization>
</authorization>
<roleManager defaultProvider="SqlRoleProvider" enabled="true" cacheRolesInCookie="true" cookieName="EquityTouch.Roles" cookieProtection="All" cookieSlidingExpiration="true" cookieTimeout="60">
<providers>
<clear />
<add name="SqlRoleProvider" applicationName="EquityTouch" connectionStringName="SQLProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</roleManager>
...
</system.web>
<system.webServer>
<security>
<authorization>
<add accessType="Deny" users="?" />
</authorization>
</security>
...
</system.webServer>
<location path="admin">
<system.webServer>
<security>
<authorization>
<remove users="*" roles="" verbs=""/>
<add accessType="Allow" roles="SysAdmins,AppAdmins" />
</authorization>
</security>
</system.webServer>
<system.web>
<authorization>
<deny users="*"/>
<allow roles="SysAdmins,AppAdmins"/>
</authorization>
</system.web>
</location>
</configuration>
: 여기
내 현재 구성 관련 비트입니다. 아무도 차단하지 않는 비슷한 구성을했습니다.문제는 system.web 및 system.webserver 섹션을 모두 사용하는 것으로 의심됩니다. 이 구성이 제대로 작동하는 데 도움이 될 수 있으면 크게 감사하겠습니다.
UPDATE
> 요소는 해당 폴더의 .ASPX 페이지가 제대로 반환하게 < 위치에서 <의 system.webServer > 섹션을 제거! 안타깝게도 해당 폴더의 .js 파일은 여전히 모든 사용자에게 차단되어 있습니다. 이상적인 점은 .js 파일을 비공개 눈으로 잠그고 싶습니다. 그래서 나는 아직도 도움을 찾고 있습니다.
이 같은 문제 : http://stackoverflow.com/questions/991045/asp-net-authentication-with-roles-in-iis7-integrated-mode-for-static-content – Toby