abp,对swagger-ui 界面进行权限控制

abp项目默认继承swagger,但我们不想随意的把我们的接口文档暴漏给外部,这样是极其不安全的;

但,我在网上找了一圈,针对.net的解决方案我反正是没找到,没办法,最后自己想了个招儿,我让api在生产部署的时候不暴漏,只允许在我们的测试环境上才可以查看;

其实,很简单,就是对环境变量进行一下判断一下就可以了。

 关键代码就是:_hosttingEnvironment.EnvironmentName == "Production" ? "Prod" : "";

然后,在项目文件夹下自定义一个indexProd.html文件,内容为【无权查看】,当然了这个内容完全是可以自定义的:)

 测试一下:

【开发环境下显示】

 ok,正常显示,方便我们开发进行调试和查看。

【生产环境下】

 欧克,完美屏蔽掉接口文档。

【后记】

上家公司当时有提出过,不想暴漏这些接口文档在生产环境中,当时没想到好的方式,不知道怎么改,现在终于脑袋开窍了,哈哈哈。。。

原文地址:https://www.cnblogs.com/lishidefengchen/p/14945798.html