小编Cod*_*orm的帖子

安全异常(应用程序尝试执行安全策略不允许的操作))

当我们尝试打开管理员登录页面时,我们遇到以下安全性异常的问题.

 Security Exception
 Description: The application attempted to perform an operation not allowed by the security policy.
To grant this application the required 
permission please contact your system administrator or change the   application's trust level in the configuration file. 


 Exception Details: System.Security.SecurityException: Request failed.
Run Code Online (Sandbox Code Playgroud)

首先,我们使用成员资格进行用户身份验证操作,我们有两个单独的应用程序,一个用于管理员,每个用户都有自己的Web.Config文件.

用户数据上传到wwwroot,但管理员数据上传到wwwroot/admin和admin webconfig我们将Login.aspx定义为admin的默认页面(当用户输入mysite.com/admin时),我们为admin创建了一个虚拟目录(从我们有两个名为/ admin的路径为mysite.com/wwwroot/admin的Web.Config文件

有趣的是,我们在其他一些项目中使用相同的方法(具有相同的成员资格和web.config以及相同的主机),但它们运行良好,并且我们的某些项目中不时出现上述问题(并非总是如此)虽然所有的设置和基础设施(对于所有项目)是相同的,但事件发生).

我们还有一些app_Webreference文件夹用于我们的一些Web服务,这可能是问题的原因但我不确定.我们试图改变安全信任级别,但主机不允许我们这样做,如果它是来自主机所以为什么我们不能与我们的其他网站有这个问题所以目前我不知道什么似乎是问题,但它确实有问题,请帮助我

非常感谢

iis securityexception full-trust

16
推荐指数
2
解决办法
3万
查看次数

Request.Browser.IsMobileDevice 在 ASP.Net Core (2.0) 中等效

在传统asp.net和asp.net MVC中,我们可以很容易地检查,如果请求来自移动设备的使用IsMobileDevice要求的属性(System.Web.HttpContext.Current.Request.Browser.IsMobileDevice),但在asp.net核心由于巨大的结构和建筑改变Request类(Microsoft.AspNetCore.Http.Request),这个属性( Browser.IsMobileDevice) 不存在了。微软是否有任何官方 的 .NetCore等价物来解决这个问题(我的意思是实用方法或其他东西)??。

请注意,我可以通过检查Request如下类的用户代理属性来轻松编写一个方法来执行此操作,但它并不完全可靠,因为由于用户代理的多样性以及更新和添加新的用户代理,我无法授予我的正则表达式变量覆盖所有可能的用户代理,而且我必须不时更新它们(正则表达式变量值)以保持它们最新。

这是我的代码,但我不想使用它,但这不是一个好习惯。我正在寻找更好的选择

static Regex MobileCheck = new Regex(@"(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino", RegexOptions.IgnoreCase | RegexOptions.Multiline | RegexOptions.Compiled);
static Regex MobileVersionCheck = new Regex(@"1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-", RegexOptions.IgnoreCase | RegexOptions.Multiline | RegexOptions.Compiled);

public static bool BrowserIsMobile(Request request)
{
    var u = request.Headers["HTTP_USER_AGENT"].ToString(); …
Run Code Online (Sandbox Code Playgroud)

c# asp.net asp.net-mvc asp.net-core

11
推荐指数
1
解决办法
5785
查看次数

使用 SqlAlchemy 执行原始查询(在 SQL-Server 数据库和 Pymssql 上)时,传递的参数无法识别并引发 SQL 错误

我正在尝试使用 SqlAlchemy(以及 Pymssql 作为提供程序)在 SQL-Server 数据库上执行简单的原始 SQL 查询。

这是我的第一次尝试(使用execute连接方法并以 **kwargs 方式传递参数):

provider = DataProvider().engine
q = "select url from Crawler.CrawlSource where source=@source"
query = text(q)
result = provider.connect().execute(query, source ='mysource')
Run Code Online (Sandbox Code Playgroud)

我以教程中显示的任何方式传递了参数(作为 kwargs 传递并作为 dict 传递),但是它们都不起作用,并且当execute调用方法时抛出异常,表示'Must declare the scalar variable' @source好像没有参数传递给execute方法,似乎是 ORM (或者可能是数据提供程序(在本例中为 pymssql))无法识别传递给的参数execute方法的参数,并且仅将查询(不带参数)传递给数据库引擎(这会导致异常)。

我猜想 MSSQL-Server 提供程序 (Pymssql) 可能存在一些问题,因为 SQL-Server 不是 SqlAlchemy 和 Python 家族中的一等公民,但没有直接线索可能导致此问题。

正如我上面所说,我也尝试了其他方法

这是我的第二次尝试(使用execute连接方法并将参数作为字典传递):

provider = DataProvider().engine
q = "select url from Crawler.CrawlSource where source=@source"
query …
Run Code Online (Sandbox Code Playgroud)

python sql-server sqlalchemy parameterized-query pymssql

2
推荐指数
1
解决办法
2015
查看次数

在浏览器中显示多页 tiff

我想知道是否有任何方法可以使用客户端编码(而不是服务器端)在浏览器中显示多页 tif 图像,以便用户可以像常见的 jquery 照片库一样在页面之间导航。我从https://github.com/seikichi/tiff.js找到了 Tiff.js ,但是这个库只提供了多页 tiff 的下载链接,并且不以 html 形式显示它。

我可以在服务器端使用 ImageMagic、LibTiff.Net 等库来完成此操作,但我不想这样做,因为照片数量巨大,如果我这样做,会消耗大量服务器的 cpu

你知道有什么替代解决方案吗?

javascript jquery tiff imagemagick

1
推荐指数
1
解决办法
7047
查看次数