Protect some page with password

From Kolmisoft Wiki
Jump to navigationJump to search

About

This is an advanced configuration, most probably your desired setup can be achieved with accountant permissions.


How to protect some page/actions using simple Apache password?

For this example we will setup Apache to not allow Calling Cards Batch management and to do a manual payment for card without an additional password. For these actions are used these addresses in MOR:


http://YOUR_IP/billing/cards/act?cg=3

and

http://YOUR_IP/billing/cards/card_pay/22?cg=3

1. Create an Apache password file:

htpasswd -c -b -m /home/mor/custom_area_htpasswd admin your_password

2. Open Apache configuration:

cd /etc/httpd/conf/
mcedit httpd.conf

and edit to look like this:

RewriteCond %{REQUEST_URI} !^/billing/public
RewriteRule ^/billing(/.*)?$   /billing/public
<Directory /var/www/billing/public/>
 Options ExecCGI FollowSymLinks
 AllowOverride All
 Allow from all
 Order allow,deny 
</Directory>
<Directory /var/www/html/stats/>
 AddHandler cgi-script .pl
 Options +ExecCGI
 DirectoryIndex index.pl
</Directory>

<Location "/billing/cards/act">
 AuthType Basic
 AuthName "MOR"
 AuthUserFile /home/mor/custom_area_htpasswd
 Require valid-user
</Location>

<Location "/billing/cards/card_pay">
 AuthType Basic
 AuthName "MOR"
 AuthUserFile /home/mor/custom_area_htpasswd
 Require valid-user
</Location>

3. Reload Apache:

/etc/init.d/httpd reload

Additional notes

  • Using this technique it is possible to setup multiple users with different permissions - if permissions for users are different you just have to create new "Locations" with different paths to AuthUserFile