域名泛解析IIS配置完成后,所有的二级域名都可以访问到同一个网站,那么怎么限制不同的二级域名访问不同的文件,没有权限访问的页面就不让访问。
有没有什么好的方法可以实现或者说可以在httpModules里面怎么处理?
另外我看有的网站有的二级域名可以访问,有的二级域名提示访问的域名不存在,这样的是没有做泛解析,在IIS里面固定解析的吗?
根据楼主描述,我对楼主的疑惑是这样理解的:
目前楼主开了泛域名解析,把所有的二级域名都解析到主域名下,但是这些二级域名只有在用户注册或达到某些条件下,访问才有效,否则就无法访问,比如注册一个用户,帐号为"abc",则"abc.xx.com"就可以访问了。
如果我的理解是对的,那么楼主可以在HttpModule中通过解析URL做相应处理,比如通过用户访问的URL,取到URL的用户名部分,然后去数据库查询是否有这个用户,没有则返回404。
至于HttpModule的使用方法,楼主可自行百度下
二级域名只是URL字符串中的一部分,想怎么限制就怎么限制
不好意思,这方面刚接触,主要是怎么限定某个域名只能访问哪些页面,其他的不能访问,能否详细讲解下?
@zouzhe: 这需要你根据二级域名的值,根据你的应用场景进行验证处理,别人很难直接提供解决方案
您好,我理解您的意思。现在我还没有想好的是这个例如博客园这种每个用户的二级域名的访问权限区分是什么原理?我开始想过将站点内的所有页面名称用个数据表保存起来,然后用另一个表来记录对应域名的访问页面权限,然后在httpModules里面来判断对应域名和请求地址的关联执行相应的处理。但我感觉这种方式好像不太灵活且笨重。您能否指点下,谢谢!
@zouzhe: 比如 zouzhe-myr.cnblogs.com ,只需根据zouzhe-myr从数据库中读取相应的博客配置,不存在权限的问题
嗯,我描述的权限是指什么域名访问的是什么样的页面,如果访问了其他的页面,那么提示访问资源不存在等信息。例如博客园的q.cnblogs.com和i.cnblogs.com他们对应的是不同的模块,如果将q修改为i,那么页面就会提示资源不存在。这方面不太懂,网上也找了很多关于泛解析说明的,泛解析之后所有的二级域名都指向了同一站点,但是对于之后的域名区分问题很是茫然,可能是我思考的方向偏差了,像一道坎!这个问题的原理对于您来说可能是理所当然的,就像您上面说的相应的博客配置…
你的问题到底是不会实现这样的二级域名? 还是不会做限制呢?
好多年没自己玩这东西了, 全是用别人现成的组件.... 不知道httpModules中嘀伪静态+规则还在流行没, 有没有更好的方式去做这些工作.
@问天何必: 您好,泛解析会做,但是泛解析后域名该怎么做限制就不太明白了。。。
域名和权限没有关系,只是根据域名不同获取的数据不一样而已
您好,现在的问题是,如下面说的如何限制这些域名访问的资源?
@Mr.Myr: 二级域名该怎么做就怎么做和权限没有关系。 你说有些域名不存打不开就是不要解析,那就找不到了,再配置个友好的提示页面。
至于每个人访问的地址不一样是把注册帐号当作二级域名了,这个域名每个人都可以访问,不存在权限问题。 像管理页面是需要权限的,那就对当前页面做验证就行了,每个人信息信息从数据库读取出来展示。
感觉你是不明白的东西太多,从现象来推理,混淆了
楼主,不知道你现在的问题解决了没有,我貌似跟你遇到的是差不多的问题,我的是这样的:
服务器是server 2008 r2的 iis 7.5
我在网上搜了很多关于asp.net iis7泛解析的列子,也按照例子做了,东西一模一样,但是我的还是不行,比如:我有个网站是www.abc.com,有N个二级域名,比如说aaa.abc.com,bbb.abc.com,ccc.abc.com,二级域名实际请求的地址必须是:www.abc.com/default.aspx?id=(aaa或者bbb或者ccc) 。
我按照网上的例子来做,但是实现的效果却是不管我输入:aaa.abc.com还是bbb.abc.com,他都给我跳转到www.abc.com去了,这个纠结了我几天了。不知道为什么