1 (edited by joe 12/15/2007 11:04:01 am)

Topic: User Access Levels

This is an extract from the file CONFIG.PHP regarding the User Access Levels:

"Security Group definitions - Depending on the AccessLevel of the user defined in the user set up the areas of functionality accessible can be modified.

Each AccessLevel is associated with an array containing the security categories that the user is entitled to access Each script has a particular security category associated with it.

If the security setting of the page is contained in the security group as determined by the access level then the user will be allowed access.

Each page has a $page_security = x; variable

This value is compared to contents of the array applicable which is based on the access level of the user.

Access authorisation is checked in header.inc this is where _SESSION["AccessLevel"] is the index of the security_groups array. If you wish to add more security groups with then you must add a new SecurityHeading to the security_headings array and a new array of Security categories to the Security Groups array

This mechanism allows more fine grained control of access security_groups is an array of arrays

The index is the order in which the array of allowed pages is defined new ones can be defined at will or by changing the numbers in each array the security access can be tailored. These numbers need to read in conjunction with the Page Security index"

$security_headings = array(
              _("Inquiries"),
              _("Accountant"),
              _("System Administrator")
    );

    $security_groups = array(
            array(1,2),
            array(1,2,3,4,5,6,7,8,9,10,11,12,13,14),
            array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15)
    );

As you can see there are 3 levels of User Access Levels at present. The corresponding arrays shows which pages a user can access. Every page has its own security level.

/Joe

Re: User Access Levels

Hi Joe

I have been searching without success for the security number of pages. Your posting refers to "array of allowed pages" and "security setting of the page". I want to fine tune user's priviliges.

Can you please point me to where I can find the numbers for each page?

Thanks
froandre
(Installed Frontaccounting yesterday. Impressed.)

Re: User Access Levels

Hi Froandre,

On each php page, you'll see a variable called "$page_security".

For example:
$page_security = 14;

My understanding is that the number assigned to it sets the security level for that page.

Cheers.

Re: User Access Levels

Hi MozMan,

Wow! What a quick response! Thanks.

>>On each php page, you'll see a variable called "$page_security".

Is that in the code? Where do I find it? New here. :$

Regards
Andre

Re: User Access Levels

Yes, you should look int the source e.g. sales/sales_order_entry.php for Sales Order Entry page.

Janusz

Re: User Access Levels

Thanks Janusz!

Andre

7 (edited by jackel7007 06/04/2009 09:20:05 am)

Re: User Access Levels

I thought it would be easy to quickly see what access levels different pages have, so i made an overview:

bank_transfer_view.php               1
change_current_user_password.php         1
customer_allocation_inquiry.php    1
customer_inquiry.php    1
display_prefs.php    1
gl_deposit_view.php    1
gl_payment_view.php    1
sales_order_entry.php    1
sales_types.php    1
view_adjustment.php    1
view_dispatch.php    1
view_invoice.php    1
view_receipt.php    1
view_supp_credit.php    1
view_supp_invoice.php    1
view_supp_payment.php    1
view_transfer.php    1
bom_cost_inquiry    2
cost_update.php    2
customer_delivery.php    2
customer_invoice.php    2
po_search_completed.php    2
po_search.php    2
prices.php    2
prn_redirec.php    2
rep*.php    2
sales_deliveries_view.php    2
sales_orders_view.php    2
search_dimensions.php    2
search_work_orders.php    2
stock_movements.php    2
stock_status.php    2
supplier_allocation_inquiry.php    2
supplier_inquiry.php    2
view_grn.php    2
view_po.php    2
view_sales_order.php    2
where_used_inquiry    2
adjustments.php    3
create_recurrent_invoices.php    3
credit_note_entry.php    3
credit_status.php    3
customer_allocate.php    3
customer_allocation_main.php    3
customer_branches.php    3
customer_credit_invoice.php    3
customer_payments.php    3
customers.php    3
gl_account_classes.php    3
gl_account_types    3
gl_bank.php    3
gl_journal.php    3
gl_quick_entries.php    3
item_tax_types.php    3
movement_types.php    3
recurrent_invoices.php    3
sales_areas.php    3
sales_groups.php    3
sales_people.php    3
supplier_allocation_main.php    3
supplier_payment.php    3
tax_groups.php    3
tax_types.php    3
transfers.php    3
work_centres.php    3
work_order_issue.php    3
purchasing_data.php    4
reorder_level.php    4
work_order_view    4
bank_transfer.php    5
reports_main.php    5
supplier_credit.php    5
supplier_invoice.php    5
supplier_payment.php    5
suppliers.php    5
view_print_transaction.php    5
Attachments.php    8
bank_account_reconcile.php    8
bank_inquiry.php    8
gl_account_inquiry.php    8
gl_trans_view.php    8
gl_trial_balance.php    8
tax_inquiry.php    8
bom_edit.php    9
currencies.php    9
exchange_rates.php    9
fiscalyears    9
bank_accounts.php    10
company_preferences.php    10
dimension_entry.php    10
forms_setup.php    10
gl_account.php    10
gl_budget.php    10
gl_setup.php    10
payment_terms.php    10
view_dimension.php    10
wo_issue_view.php    10
wo_production_view.php    10
work_order_add_finished.php    10
work_order_entry.php    10
work_order_release.php    10
work_order_view.php    10
item_categories.php    11
item_codes.php    11
item_units.php    11
items.php    11
locations.php    11
po_receive_items.php    11
sales_kits.php    11
sales_types.php    14
shipping_companies.php    14
void_transaction.php    14
backups.php    15
print_profiles.php    15
printers.php    15
sales_points.php    15
users.php    15
create_coy.php    20
inst_lang.php    20
inst_module.php    20
inst_upgrade.php    20

8 (edited by jackel7007 06/04/2009 09:22:50 am)

Re: User Access Levels

When I view config.php I see:

    $security_headings = array(
            _("Inquiries"),
            _("Accountant"),
            _("System Administrator"),
    );

    $security_groups = array(
            array(1,2),
            array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,16),
            array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,20),
    );

Why does the accountant have level 16 access, but is level 15 missing?
Does this mean, he can't access level 15 pages, or do you always have the access on the lower pages (like if you have only access to 16, you also have access to 1 till 15?)

Re: User Access Levels

Thanks for the overview and in access order.
The Accountant access level means that he only has access to the pages in the array.
He should not have access to level 15. More technically setup. At present there are no level 16 pages.
In the next minor release, 2.2 we are checking the access levels and are extending it with more security headings.

/Joe

Re: User Access Levels

Your welcome,

we await your next (minor) release