关于程序合并的问题?解决后加300分
我的网站上有论坛,电影,音乐等几个程序,是不同人单独开发的,每个程序都有个用户数据库, 各个用户数据库都有些不同的字段,而想使用上面的几个程序功能都先注册,当然用户信息都是保存到各自的用户数据库里,所以想用上面几个程序就要每个程序里都要注册一次, 而且使用时要在每个程序上都要登陆才行,现在我想把它们统一一个用户数据库,用户只要注册一次就可以了, 而且在一个程序里登陆了, 想使用其它的程序也不用再登陆了, 请问有什么好的方法合并它们呢?最头疼的是:各个程序需要的功能不一样,所以有些程序的用户用的字段另外一个程序的用户数据库里没有, 好像论坛有头像,级别等字段, 而其它程序不用这些字段, 请问这怎样处理才好呢?
问题点数:100、回复次数:13Top
1 楼ljupin(蓝眼泪.NET ---> I come from Ningxia of China)回复于 2003-11-02 20:23:19 得分 0
如果程序的用户表和其他没什么关联
建议你重写了会员管理程序:)其他程序统一调用此程序Top
2 楼coldice(ice)回复于 2003-11-02 20:30:07 得分 0
很麻烦的一件事情,你可以需要重新规划你的站点一下了。。Top
3 楼hansonboy(hansonboy)回复于 2003-11-02 21:12:03 得分 0
会员管理程序就一定要重写的了, 就是想问有什么好的方法规划一下Top
4 楼huakaisiji(疯子)回复于 2003-11-02 21:58:46 得分 0
把几个数据库加加起来使用。
把用户信息放在其中的一个数据库里,把验证用户是否登陆的代码写成一个文件,除去先前页面中验证用户是否登陆的代码,所有页面包含这一个文件,应该可以实现。Top
5 楼muyangzuo(牧羊座)回复于 2003-11-02 23:37:43 得分 0
呵呵,是不用重写的!!
在数据库中建一个主用户表(包括你注册时想要的所以字段),
然后使用一个触发器,当在主用户表中插入数据时,通过该触发器在其他数据表中插入数据记录就可以了。
go;
create trigger insert_user
on 主用户表
for insert
as
begin
insert into usertable1(字段1,字段2,....) from inserted(字段1,字段2,....);
insert into usertable2(字段1,字段2,....) from inserted(字段1,字段2,....);
insert into 主用户表 from inserted;
end
具体细节你自己调试一下,很easy的:)
其二:一次登陆问题
在整个项目中统一使用一个Session,例如Session["UserID"}
登陆的时候初始化 Session["UserID"]=UserID;
然后每个页面验证该Session是否为空就可以了
if(Session["UserID"]==null) Response.Redirect("主登陆页面");
注销登陆时结束该Session : Session["UserID"] = null;
OK搞定!Top
6 楼hansonboy(hansonboy)回复于 2003-11-03 13:17:41 得分 0
我现在想共用session的方法, 但不知为什么session不能共用的,就是我在这个程序上对session("username")赋值了, 但去到另外一个程序上session("username")就没有了, 这个session("username")只是在它本来的程序上起作用的
Top
7 楼hansonboy(hansonboy)回复于 2003-11-03 13:53:05 得分 0
upTop
8 楼henryfan1(http://henryfan.cnblogs.com)回复于 2003-11-03 14:33:53 得分 0
你们的项目没有分层写的吗?
Top
9 楼jewith(janson)回复于 2003-11-03 16:34:46 得分 0
session的作用范围只是在同一个网站中,不知道你那个网站在设计上都是独立的。Top
10 楼hansonboy(hansonboy)回复于 2003-11-03 17:25:03 得分 0
我的各个程序是在不同的网站上, 好像论坛是在www.mysite.com上的,而电影网站是在www.mysite.net上的, 这样应该怎样做呢?Top
11 楼muyangzuo(牧羊座)回复于 2003-11-03 22:37:54 得分 0
那你在数据库中用户表里设置一个是否已登陆的字段,在不同网站上登陆时把该字段置1,注销时置0,网站之间使用该字段辨别,站内使用Session。Top
12 楼jpyc(九品-沉默)回复于 2003-11-04 08:06:11 得分 100
http://218.56.11.178:8020/web/index.aspx
看看是否是你想要的效果,是,给分,我把方法写写给你,不是就算了。
我的也是分几个站点,分别登陆,不过登陆一个后,就不用着登其他的,直到退出本次访问或SESSION过期。Top
13 楼hansonboy(hansonboy)回复于 2003-11-04 11:08:01 得分 0
jpyc(九品御厨-进军嵌入式) 是这样的, 我一次只可以给100分, 如果在线的话我再开贴给分Top




