IIS权限控制(sqlite只读)
背景
利用ASP.NET CORE 2 MVC 开发了一个WEB小应用用来管理自己常用的账号和密码。由于数据量很小,所有采用了轻量级的数据库sqlite。
总体的技术:ASP.NET CORE 2 MVC + EF CORE + SQLITE
部署环境:server 2008 R2 (阿里云ECS服务器) + IIS 7.5
遇到的问题
开发完成后,在VS中使用IIS EXPRESS 调试一切正常。发布到本地(win10 + iis),也正常。但是,部署到云服务器时,查询并展示数据时正常,当对数据进行修改时报错。
一. 定位问题
1.查看浏览器报错信息
默认情况下,发布说的web应用不会返回详细的报错信息。如图:
设置web.config,重新启动网站。
显示详细的报错信息
2.结论
根据错误信息,可以断定:sqlite数据库文件的只读引起。
二. 解决方案
1.直接设置部署文件的读写权限。
查看部署文件夹,发现属性为“只读”,取消只读。重新请求,还是报错。
重新思考:直接改变文件夹的读写权限,只是更改了当前登录server 2008操作系统用户的权限。我们需要做的是更改IIS的读写权限。
2.更改IIS的读写权限
添加iis相关的用户