猿问

asp.net 权限 Windows验证!

现在做企业内部的MIS,一般情况下用Windows验证抓取工号(计算机名和域名)即可做到权限验证和操作记录工号,这样IIS上设置Windows身份验证就可以了,但是由于部门的特殊性,很多项目都要和外部用户(货代、报关行等)交互,所以有些功能页面不能用Windows身份验证,需要设置匿名验证,这样的话用一个系统(甚至同一个页面)就要使用不同的验证方式。

我们以前的做法是在项目中建立一个“内部”文件夹和一个“外部”文件夹,将“内部”文件夹设置成Windows验证,用于抓取计算机名和域名,“外部”文件夹设置成匿名验证。由于内部页面和外部页面的功能几乎一样,所以两个文件夹也是中的文件也差不多,这样的话感觉有点“冗余”。不知道有没有人遇到过这种情况,一般是采取什么样的解决方案呢?


守候你守候我
浏览 725回答 2
2回答

慕码人2483693

可以这样嘛,对所有页面启用匿名登录,然后根据需要Windows认证的页面来判断当前用户是否具有Windows Identity。

紫衣仙女

我们内部以一套OA身份系统,通过计算机名是可以定位到具体员工的。我们现在的做法是:比如有一个编辑页面,在”内部“和”外部“页面各Copy一份,而且在”内部“中的代码中加上抓取计算机名称和域名的逻辑。当User登录时候,如果是内部账号(比如管理员账号Admin),就会被引导到”内部“的页面,如果是外部账号(比如一般账号”AAA“)就会被引导到”外部“的页面,而事实上这两个页面功能完全相同,唯一不同是就是”内部“的页面多了一段抓取计算机名的逻辑,这样的话就可以记录到具体的操作员工了。我们现在的做法是开发的时候直接开发内部页面,测试后再copy到”外部“文件夹中,最一点点逻辑修改就OK了。但是感觉有点怪怪的。不知道我说的够不够清晰。
随时随地看视频慕课网APP
我要回答