0

I'm developing custom client/server application that requires client to log in with their username and password. The user accounts are not related to Windows/AD accounts in any way. After login, client application will request other services from server system.

My question is what is the best way to implement this? What kind of architecture would fit best here? I guess some kind of ticket/token authentication system needs to be implemented???

Thanks

4

2 回答 2

1

实际上,您可能希望实现一个在不同部分(登录服务器、客户端、应用服务器)之间传递“票证”的系统。此票证将包含基本信息,例如用户 ID(用户名、行 ID 等)。此票证将使用授权服务器共享的密钥进行加密,或者将使用服务器共享的密钥加盐的票证内容的哈希值进行标记。第一种方式使只有授权服务器可以创建和读取票证,第二种方式使授权服务器可以验证只有授权服务器可以创建票证,但允许任何人读取票证。所有应用服务器都会在继续执行任何应受保护的操作之前检查票证(通过尝试解密或验证哈希匹配)。如果这是一个网络应用程序,那么 cookie 是存储票证的好地方。

于 2009-06-18T18:13:31.790 回答
0

除了客户端/服务器之外,您对您的架构没有说太多,所以我假设您正在使用某种形式的表单设计器,例如 VS 中的 Windows 表单。在这些情况下,我总是使用某种形式的数据库表身份验证,因为它很容易、易于设置并且相当安全。您甚至可以通过这种方式设置组和角色,而无需大惊小怪。

Table:  Users
Fields: UserID   PK
        Login    Text
        Password Text
        ...

Table:  Roles
Fields: RoleID   PK
        Role     Text
        ...

Table:  UserRoles
Fields: UserID    FK
        RoleID    FK
于 2009-06-18T18:02:16.550 回答