大图:我被要求为公司的Intranet创建一个搜索引擎。这样的搜索引擎将为内部网上的每个独立应用程序爬行由XML文件提供给它的页面。问题是,整个Intranet使用的是表单身份验证,因此抓取工具必须能够访问每个应用程序,而无需真正拥有用户凭据(例如用户名和密码)。为搜索引擎抓取工具创建表单身份验证Cookie
Intranet中的每个应用程序都有权限管理器控制其访问权限,该权限管理器实质上是ASP.NET自带的默认角色管理器上的一个包装器。每个应用程序都可以定义自己的角色并分配具有这些角色的人员。
请注意,有潜在的数百个应用程序。
爬虫有权访问权限管理器的数据库,因此它知道所有角色是什么。因此,我的想法是让抓取工具创建一个cookie,将其标识为具有每个应用程序的所有角色。
我遇到的问题是这样的:我如何创建一个表单身份验证cookie,它已经在其中创建了角色而没有创建相应的用户(IPrincipal)。
完全有可能我没有完全理解表单身份验证如何工作,如果是这样,请告诉我我可以做些什么不同。
您是否对所有应用程序使用基于声明的身份验证,还是每个应用程序都处理自己的身份验证? –
您想要在爬虫的同一台机器上抓取所有应用,还是需要跨越机器边界? –
将设置什么样的cookie? – noob