2011-08-09 15 views

答えて

-2

SQLServer上にはdatareader/datawriterだけが必要です。

+0

ストアドプロシージャの実行権限を設定する必要もありませんか? – user884140

+0

はい..データウェアハウス/データライターとして... – cgcarter1

0

永続化モードと一時テーブルモードのどちらを選択したかによって異なります。最初のケースでは、それは非常に簡単です:テーブルへのアクセスが 所有権チェーンによって動作するため、永続的な場合には

、すなわち、所有者ならば、EXECUTE 手続き上の権利を付与するのに十分ですプロシージャのうち、テーブル がそのプロシージャによってアクセスされている場合は、これらのテーブルにアクセスするときには、 のチェックは行われません。 ASPStateデータベースでは、すべてのオブジェクトの 所有者もデータベース所有者です。すなわち、 がAspnet_regsqlツールの実行時にASPStateデータベースを作成したアカウントです。 テーブルが ASPStateデータベースに存在しないがtempdbにある非永続モードでは、直接 所有権チェーンがないため、さらに1つの手順を実行する必要があります。 データベース間の所有権チェーン確立する。

詳細は(両方のモードについて)http://blogs.msdn.com/b/hanspo/archive/2011/01/10/hardening-an-asp-net-session-state-database.aspxを参照してください。

1

私はこの質問が少し古いことを知っていますが、私は正解を見ませんでした。組み込みのASPStateアカウントを置き換えるために作成した役割に与えられたものがここにあります。セキュリティ上の理由から、当社のWebアプリケーションで使用されているアカウントに.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 
関連する問題