我需要设置一个站点来使用本地IIS 7服务器(运行windows 7)。并且我得到一个权限错误,说明我应该在App_Data文件夹上设置写权限。
我在哪做这个?我是通过IIS 7管理还是通过windows资源管理器来做到这一点?
url i用于默认asp.net网站项目:
http://localhost:10000/Account/Register.aspx?ReturnUrl=
Server Error in '/' Application.用户没有执行此操作的权限。描述:在执行当前web请求时发生了未处理的异常。请查看堆栈跟踪以获得有关错误的更多信息,以及它起源于代码的位置。
异常详细信息: System.Data.SqlClient.SqlException:用户没有执行此操作的权限。
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[SqlException (0x80131904): User does not have permission to perform this action.]
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +6277312
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() +412
System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +1363
System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK) +53
System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, TimeoutTimer timeout) +6292062
System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, TimeoutTimer timeout, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) +6291977
System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) +352
System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) +506
System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) +49
System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) +6293782
System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) +78
System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) +1922
System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +89
System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +6296606
System.Data.SqlClient.SqlConnection.Open() +300
System.Web.DataAccess.SqlConnectionHolder.Open(HttpContext context, Boolean revertImpersonate) +150
System.Web.DataAccess.SqlConnectionHelper.GetConnection(String connectionString, Boolean revertImpersonation) +4603263
System.Web.Security.SqlMembershipProvider.CreateUser(String username, String password, String email, String passwordQuestion, String passwordAnswer, Boolean isApproved, Object providerUserKey, MembershipCreateStatus& status) +2858
System.Web.UI.WebControls.CreateUserWizard.AttemptCreateUser() +412
System.Web.UI.WebControls.CreateUserWizard.OnNextButtonClick(WizardNavigationEventArgs e) +226
System.Web.UI.WebControls.Wizard.OnBubbleEvent(Object source, EventArgs e) +586
System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +52
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3691发布于 2011-03-02 19:33:31
我必须设置站点以使用应用程序传递,然后将应用程序池更改为使用NetworkService。
发布于 2017-11-05 22:17:23
IIS 7.5+ (Windows 2008)的另一个可能的答案是允许组"IIS_IUSRS“写入。我相信这个组甚至包含了IIS 8+ AppPool用户,所以这是一种更持久的方式来确保对App_Data的写访问。
C:\inetpub\wwwroot> icacls App_Data /grant IIS_IUSRS:M
processed file: App_Data
Successfully processed 1 files; Failed processing 0 files
C:\inetpub\wwwroot> 发布于 2022-07-22 11:46:54
如果应用程序池使用推荐的默认ApplicationPoolIdentity,则需要向IIS AppPool**_YourAppPoolName**_授予权限。
另见https://learn.microsoft.com/en-us/iis/manage/configuring-security/application-pool-identities
注意,ApplicationPoolIdentity是每个应用程序池的虚拟本地帐户,它不是SAM数据库的一部分。因此,一些应用程序拒绝选择这个帐户。
还请注意,旧的、已停用的IIS版本没有提供ApplicationPoolIdentity特性。
https://stackoverflow.com/questions/5158114
复制相似问题