Feature #1010 » permission-setting-for-captive-portal2.patch
etc/inc/globals.inc | ||
---|---|---|
89 | 89 |
"disablehelpmenu" => false, |
90 | 90 |
"disablehelpicon" => false, |
91 | 91 |
"debug" => false, |
92 |
"latest_config" => "7.5",
|
|
92 |
"latest_config" => "7.6",
|
|
93 | 93 |
"nopkg_platforms" => array("cdrom"), |
94 | 94 |
"minimum_ram_warning" => "105", |
95 | 95 |
"minimum_ram_warning_text" => "128 MB", |
etc/inc/priv/user.priv.inc | ||
---|---|---|
2 | 2 | |
3 | 3 |
global $priv_list; |
4 | 4 | |
5 |
$priv_list['user-services-captiveportal-login'] = array(); |
|
6 |
$priv_list['user-services-captiveportal-login']['name'] = gettext("User - Services - Captive portal login"); |
|
7 |
$priv_list['user-services-captiveportal-login']['descr'] = gettext("Indicates whether the user is able to login on ". |
|
8 |
"the captive portal."); |
|
9 | ||
5 | 10 |
$priv_list['user-shell-access'] = array(); |
6 | 11 |
$priv_list['user-shell-access']['name'] = "User - System - Shell account access"; |
7 | 12 |
$priv_list['user-shell-access']['descr'] = "Indicates whether the user is able to login for ". |
etc/inc/upgrade_config.inc | ||
---|---|---|
1885 | 1885 |
$config['system']['user'] = array(); |
1886 | 1886 |
/* migrate captivate portal to user manager */ |
1887 | 1887 |
if (is_array($config['captiveportal']['user'])) { |
1888 |
$config['cpusernames_temp'] = array(); |
|
1888 | 1889 |
foreach($config['captiveportal']['user'] as $user) { |
1889 | 1890 |
// avoid user conflicts |
1890 | 1891 |
$found = false; |
... | ... | |
1907 | 1908 |
} |
1908 | 1909 |
$user['uid'] = $config['system']['nextuid']++; |
1909 | 1910 |
$config['system']['user'][] = $user; |
1911 |
$config['cpusernames_temp'][] = $user['name']; |
|
1910 | 1912 |
} |
1911 | 1913 |
unset($config['captiveportal']['user']); |
1912 | 1914 |
} |
... | ... | |
2279 | 2281 |
rename_field($config['crl'], 'name', 'descr'); |
2280 | 2282 |
} |
2281 | 2283 | |
2284 |
function upgrade_075_to_076() { |
|
2285 |
global $config; |
|
2286 | ||
2287 |
if (!isset($config['captiveportal']['enable']) && !isset($config['cpusernames_temp'])) |
|
2288 |
return; |
|
2289 | ||
2290 |
$cpusers = array(); |
|
2291 |
$cpusers['name'] = "cpusers"; |
|
2292 | ||
2293 |
// Search for a group name that doesn't conflict, in case cpusers already exists |
|
2294 |
if (is_array($config['system']['group'])) { |
|
2295 |
do { |
|
2296 |
$found = false; |
|
2297 |
foreach ($config['system']['group'] as $groupent) |
|
2298 |
if ($groupent['name'] == $cpusers['name']) { |
|
2299 |
$found = true; |
|
2300 |
$cpusers['name'] = "cpusers" . (substr($cpusers['name'], 7) + 1); |
|
2301 |
break; |
|
2302 |
} |
|
2303 |
} while ($found); |
|
2304 |
} else |
|
2305 |
$config['system']['group'] = array(); |
|
2306 | ||
2307 |
$cpusers['description'] = gettext("Captive Portal Users"); |
|
2308 |
$cpusers['gid'] = $config['system']['nextgid']++; |
|
2309 |
$cpusers['priv'] = array("user-services-captiveportal-login"); |
|
2310 |
$cpusers['member'] = array(); |
|
2311 | ||
2312 |
if (is_array($config['system']['user'])) { |
|
2313 |
if (isset($config['cpusernames_temp'])) { |
|
2314 |
foreach ($config['system']['user'] as $userent) |
|
2315 |
if (in_array($userent['name'], $config['cpusernames_temp'])) |
|
2316 |
$cpusers['member'][] = $userent['uid']; |
|
2317 |
} else { |
|
2318 |
foreach ($config['system']['user'] as $userent) |
|
2319 |
if ($userent['uid'] != 0) |
|
2320 |
$cpusers['member'][] = $userent['uid']; |
|
2321 |
} |
|
2322 |
} |
|
2323 | ||
2324 |
if (isset($config['cpusernames_temp'])) |
|
2325 |
unset($config['cpusernames_temp']); |
|
2326 | ||
2327 |
if (empty($cpusers['member'])) |
|
2328 |
unset($cpusers['member']); |
|
2329 | ||
2330 |
$config['system']['group'][] = $cpusers; |
|
2331 |
} |
|
2332 | ||
2282 | 2333 |
?> |
usr/local/captiveportal/index.php | ||
---|---|---|
187 | 187 | |
188 | 188 |
//check against local user manager |
189 | 189 |
$loginok = local_backed($_POST['auth_user'], $_POST['auth_pass']); |
190 |
if ($loginok) |
|
191 |
if (!userHasPrivilege(getUserEntry($_POST['auth_user']), "user-services-captiveportal-login")) |
|
192 |
$loginok = false; |
|
190 | 193 |
if ($loginok){ |
191 | 194 |
captiveportal_logportalauth($_POST['auth_user'],$clientmac,$clientip,"LOGIN"); |
192 | 195 |
portal_allow($clientip, $clientmac,$_POST['auth_user']); |
usr/local/www/services_captiveportal.php | ||
---|---|---|
469 | 469 |
<td> </td> |
470 | 470 |
<td> </td> |
471 | 471 |
</tr> |
472 |
<tr> |
|
473 |
<td colspan="2"><span class="vexpl"><span class="red"><strong><?=gettext("Note:"); ?></strong></span><br> |
|
474 |
<?=gettext("When using the local user manager for authentication, only users with the Captive Portal Login privilege are allowed access. This may be given by adding the user to a Captive Portal Users group that has the privilege or by assigning the privilege directly."); ?></span></td> |
|
475 |
</tr><tr> |
|
476 |
<td> </td> |
|
477 |
<td> </td> |
|
478 |
</tr> |
|
472 | 479 |
</table> |
473 | 480 |
<table width="100%" border="0" cellpadding="6" cellspacing="0"> |
474 | 481 |
<tr> |
- « Previous
- 1
- 2
- Next »