The recommended approach for implementing custom security (as of version 9.0) is to use the Composite Security Provider. The composite security provider modularizes security into 'Authentication' and 'Authorization'. Authentication deals with getting user/role/group information and validating login requests. Authorization deals with setting and getting report related permissions.
In order to set up composite security directly add the following properties in the 'sree.properties' file.
security.provider =
inetsoft.sree.security.CompositeSecurityProvider
security.authentication.provider={AuthenticationProvider}
security.authorization.provider={AuthorizationProvider}
{AuthenticationProvider} can be one of:
• inetsoft.sree.security.FileAuthenticationProvider
• inetsoft.sree.security.ldap.ADSecurityProvider
• inetsoft.sree.security.ldap.IPlanetSecurityProvider
• inetsoft.sree.security.ldap.GenericLdapSecurityProvider
• class which extends inetsoft.sree.security.AbstractAuthenticationProvider e.g., com.company.security.MyAuthorizationProvider
{AuthorizationProvider} can be one of:
• inetsoft.sree.security.FileAuthorizationProvider
• inetsoft.sree.security.ldap.ADSecurityProvider
• inetsoft.sree.security.ldap.IPlanetSecurityProvider
• inetsoft.sree.security.ldap.GenericLdapSecurityProvider
• class which extends inetsoft.sree.security.AbstractAuthorizationProvider, e.g., com.company.security.MyAuthorizationProvider
If you already have a custom security implementation in versions 8.0 and below; the recommended approach is to re-implement your security using the new Composite security provider as described above. However if you have an existing implementation which implements the 'SecurityProvider' interface you may use it with the addition of some methods.
public class MyProvider implements inetsoft.sree.security.SecurityProvider
{
public boolean checkPermission(Principal user, String resource, char acc){
//check the type of permission, which a user
//has on a resource
//user is of type SRPrincipal
//acc is one of 'r','w','d'.
}
public boolean supportGroupPermission() {
//check if provider has support for setting
//permissions on groups
}
public boolean authenticate(String user, Object credential){
//validate user credentials
//credential is object of type
//inetsoft.sree.security.DefaultTicket
}
public String[] getUsers() {
// return a list of all user logins
}
public String[] getIndividualUsers() {
//return a list of users not belonging to a group
}
public User getUsers(String name) {
//return inetsoft.sree.security.User object
}
public String[] getRoles() {
// return a list of all Roles
}
public String[] getRoles(String user) {
// return a list of all Roles for a given user
}
public String[] getGroups() {
// return a list of all Groups
}
public Group getGroup(String name) {
// Get a group by name
}
public Identity findIdentity(Indentity identity) {
//find the concrete identity of the security provider
}
public void setPermission(String resource,
Permission perm) {
// save the permission for a resource
}
public Permission getPermission(String resource) {
// get the permission for a resource
}
public void removePermission(String resource) {
// remove the permission for a resource
}
public void teardown() {
//teardown the security provider
}
}
More Articles About Reporting
Capabilities of an Insurance Claims Dashboard - Monitor, explore, and analyze by filtering and sorting desired information Easy to use, modify, and create charts and visuals Leverage user-driven data mashup Upload and sift through multi-dimensional data to spot trends and aberrations Slice and dice data with simple point-and-click method Share visual analysis with others...
Free and Commercial BI Product Pricing - Free Features: Dashboard & visualization web app, no desktop install Data sources: uploaded Excel and CSV files Publicly shareable dashboards via URL link. Everything in Individual, plus: Data sources: many SaaS data sources including Google Sheets Data mashup and transformation Private sharing of dashboards and analyses within your organization...
InetSoft Dashboard Software Reviews - Since the company's founding in 1996, InetSoft's software has been deployed at over 3,000 enterprises in all kinds of industries around the world and has been integrated by dozens of solution providers into their applications serving all kinds of verticals. Here are some testimonials from InetSoft customers. We chose InetSoft's Web-based dashboard solution because it could be deployed so easily across different geographies and computing platforms and because its feature set is so mature and robust. We were actually surprised by its ease-of-use for end-users when we started to see sales managers creating their own dashboards without special training or support from us in IT...
Mashups for Better Budget Monitoring - Style Intelligence can pull your financial data from your operational financial systems and combine it with almost any other data source found in your enterprise including: relational databases (JDBC), multidimensional databases, XML, SOAP, dozens of cloud sources, Excel spreadsheets, OLAP cubes, and the proprietary data stores from JDE, SAP, PeopleSoft, and Siebel CRM...
Interactive Dashboard App Features - InetSoft's self service also extends to exploring data with visual interactivity. The dashboard web app allows users to not only create compelling visuals, but also to explore the information through interactive dashboard features without complicated programming. This allows for a new level of exploration and insight into data for users, regardless of skill level...
Know Your Dashboards and Formats - Here's a quick guide to the three main BI dashboard types available in today's business world: Strategic: Strategic dashboards showcase key information in a plain, simple format. The insights derived from strategic dashboards empower senior decision-makers to formulate initiatives and campaigns based on a mix of historical, real-time, and predictive data. Analytical: Analytical dashboards exist to provide detailed insights based on specific patterns or trends. These BI tools offer information based on a multitude of variables, providing highly focused, detail-oriented insights...
Report Scheduling and Batch Generation - Automation is a significant factor in any production reporting system. In addition to on-demand views by users in the User Portal, administrators (and users as well) often need to configure reports and dashboards to be automatically generated and delivered to members of the organization. Scheduling is also an effective technique for making the most of a given hardware set, as batch jobs can be run at off-peak times, typically overnight, so that the server load is better distributed around the clock...
Three Simple Steps to Start Dashboard Creation - To make dashboards using Style Intelligence the user has to follow three simple steps: 1). Load the Viewsheet, which is a software window that looks a lot like any familiar spreadsheet. Since Style Intelligence runs from the web using html5, installing Style Intelligence on a single computer at your enterprise allows any number of employees access to the program from their own desktop, in their preferred web browser, through CRM, or other connector portal...