I have now created a partially working database, although I feel I have over complicated things, and also, not sure where to add the extra tables/relationships required.
First off all, I have a simple website where you can register a new company (these details go into my company table) Also, the person registering the company will enter their personal details, and these will go into the User table, so at the time of registering a company, there will be at least one user, and the filed IsCompanyAdmin will be set as true.
Now, this admin can log in online, and add new users to the system (users that must work at that company)
The User authentication table handles all authentication for that user. A company admin user will have the authentication type password, and they can log in online, however, all new users that an administrator create for the company will be smart card, and can not log into an online account.
When an administrator is logged in for the company, he can set up a new user, and assign a smart card (have not added this yet, not sure where to add this) and the account would be in a pending state, until the user activates their smart card (this functionality is in an end user client desktop application).
I have tested my concept and design in Microsoft Access, and it seems to work OK, however, I am not sure where or how to handle the passwords, smart cards etc for different log in types.
So, I am hoping to get a little help on the following points.
- Is the schema so far OK, or have I over complicated things?
- Where/how should I add passwords, smart card data etc for authentication?