2011-08-09 5 views
4

ASP.net 응용 프로그램이 표준 영구 SQL Server 세션 상태 데이터베이스를 읽고 쓸 수있게하는 데 필요한 최소한의 사용 권한 집합은 무엇입니까?ASP.Net 세션 상태 SQL Server 사용자 권한

+0

aspnet_regsql.exe 명령을 실행 한 후에는 지정한 사용자가 db_owner가됩니다. – RolandoCC

답변

-2

SQLServer에는 datareader/datawriter 만 필요합니다.

+0

저장 프로 시저에 대한 실행 권한을 설정해야 할 필요가 없습니까? – user884140

+0

예 .. 데이터 보관자/데이터 작성자로서 ... – cgcarter1

0

지속 모드인지 임시 테이블 모드인지에 따라 다릅니다. 첫 번째 경우는 매우 간단합니다 : 테이블에 대한 액세스는 소유자가있는 경우, 즉 소유권 체인에 의해 작동하기 때문에

지속적 경우

, 의 절차를 실행 권한을 부여하기에 충분 프로 시저 중 하나라도 프로 시저가 액세스하는 테이블 을 소유하고 있으면 해당 테이블에 액세스 할 때 추가 검사가 수행됩니다 ( ). ASPState 데이터베이스에서 모든 개체의 소유자는 데이터베이스 소유자, 즉 이 Aspnet_regsql 도구를 실행할 때 ASPState 데이터베이스를 만든 계정입니다. 테이블이 ASPState 데이터베이스에 있지만 tempdb에있는 비표시 모드에서는 직접 소유권 체인이 없으므로 한 단계 더 수행해야합니다. 데이터베이스 간 소유권 체인에 설립 될

자세한 내용은 (두 모드 모두) http://blogs.msdn.com/b/hanspo/archive/2011/01/10/hardening-an-asp-net-session-state-database.aspx을 참조하십시오.

1

나는이 질문이 조금 오래되었다는 것을 알고 있지만 나는 정답을 보지 못했다. 내장 된 ASPState 계정을 대체하기 위해 우리가 만든 역할에 부여한 바는 다음과 같습니다. 보안상의 이유로 웹 응용 프로그램에서 .dbo 권한을 사용하는 계정을 원하지 않았습니다.

GRANT EXECUTE ON dbo.TempReleaseStateItemExclusive TO ASPState_20 
GRANT EXECUTE ON dbo.TempInsertUninitializedItem TO ASPState_20 
GRANT EXECUTE ON dbo.TempInsertStateItemShort TO ASPState_20 
GRANT EXECUTE ON dbo.TempInsertStateItemLong TO ASPState_20 
GRANT EXECUTE ON dbo.TempUpdateStateItemShort TO ASPState_20 
GRANT EXECUTE ON dbo.TempUpdateStateItemShortNullLong TO ASPState_20 
GRANT EXECUTE ON dbo.TempUpdateStateItemLong TO ASPState_20 
GRANT EXECUTE ON dbo.TempUpdateStateItemLongNullShort TO ASPState_20 
GRANT EXECUTE ON dbo.TempRemoveStateItem TO ASPState_20 
GRANT EXECUTE ON dbo.TempResetTimeout TO ASPState_20 
GRANT EXECUTE ON dbo.DeleteExpiredSessions TO ASPState_20 
GRANT SELECT ON dbo.ASPStateTempSessions TO ASPState_20 
GRANT SELECT ON dbo.ASPStateTempApplications TO ASPState_20 
GRANT EXECUTE ON dbo.GetMajorVersion TO ASPState_20 
GRANT EXECUTE ON dbo.CreateTempTables TO ASPState_20 
GRANT EXECUTE ON dbo.TempGetVersion TO ASPState_20 
GRANT EXECUTE ON dbo.GetHashCode TO ASPState_20 
GRANT EXECUTE ON dbo.TempGetAppID TO ASPState_20 
GRANT EXECUTE ON dbo.TempGetStateItem TO ASPState_20 
GRANT EXECUTE ON dbo.TempGetStateItem2 TO ASPState_20 
GRANT EXECUTE ON dbo.TempGetStateItem3 TO ASPState_20 
GRANT EXECUTE ON dbo.TempGetStateItemExclusive TO ASPState_20 
GRANT EXECUTE ON dbo.TempGetStateItemExclusive2 TO ASPState_20 
GRANT EXECUTE ON dbo.TempGetStateItemExclusive3 TO ASPState_20 
GRANT EXECUTE ON TYPE ::dbo.tSessionId TO ASPState_20 
GRANT EXECUTE ON TYPE ::dbo.tAppName TO ASPState_20 
GRANT EXECUTE ON TYPE ::dbo.tSessionItemShort TO ASPState_20 
GRANT EXECUTE ON TYPE ::dbo.tSessionItemLong TO ASPState_20 
GRANT EXECUTE ON TYPE ::dbo.tTextPtr TO ASPState_20