Using Global store security in C#Bot client-side
The client-side of an application is not a reliable place to verify security, this is instead the duty of the server-side which considers user authentication, CRUD permissions and other considerations. However, it is important for the client-side to reflect the security rules. While the Codebots Security Diagram will have pre-configured security for you in both the client and server-side, it is important for you to understand client-side security to work with your custom code.
Using Global Store Security
Store.tsx
is a global store which is used throughout your application. This store contains useful helper methods and information relating to the current user. This includes but is not limited to the following:
- Checking whether the user is logged in.
- Storing the
UserGroups
,Email
,ID
and other relevant information pertaining to the logged in user. - Method to login the user.
- Method to logout the user.
- Stores whether the user has backend access.
With how the store is setup, you can access any of this information in your components by first importing the store
import { store } from './Models/Store';
and then calling any methods of class variables. As an example, if you wanted to list out all the groups the user has access to you could call the following code snippet inside your component.
{store.userGroups.map(g => <p>{g.name}</p>)}
You can use any combination of these class variables or methods in your components logic to render a view suitable to your type of user.
if(store.loggedIn && store.hasBackendAccess) {
return <p>Welcome Administrator!</p>;
} else {
return (
<p>
You are not logged, please click <Link to="/login">here</Link>
</p>
);
}
Was this article helpful?