List of Members with Hashed Passwords

This page uses a Hashtag List to show Member Usernames & Hashed Passwords.   The table is styled using Bootstrap 3 default theme classes.   Methods are provided to Edit or Delete any Member, or List any Group Memberships.  
Username Hashed Password Action
newguy 3f2edcef4675dceb454f8f522455835f8cadd07dced056a6a5da0fb29155ada3 Edit Delete List Memberships
passwordispassword 65c205596bca351aee2ac21a67850c64ed7cbce39c2754027b10b701ab6b3220 Edit Delete List Memberships



Processed this Hashtag Markup:
<# start list for members;
	sort by username;
	show 10 rows per page;
#>

<# start header #>
<table class="table table-striped table-hover">
	<thead>
	<tr>
		<th>Username</th>
		<th>Hashed Password</th>
		<th>Action</th>
	</tr>
	</thead>
<# end header #>

<# start row #>
	<tr>
		<td><# username as html #></td>
		<td title="<# password as html #>">
			<span class="truncated"><# password as html #></span>
		</td>
		<td><a href="form?edit=<# id #>" class="label label-primary">Edit</a>
			<a href="delete-member?id=<# id #>&index=<#[url.index as html]#>" 
				onclick="return confirm('Delete Member?')" 
				class="label label-primary">Delete</a>
			<a href="group-memberships?member_id=<# id #>" 
				class="label label-primary">List Memberships</a>
		</td>
	</tr>
<# end row #>

<# start footer #>
</table>
<# end footer #>

<# start no results #>
<h4 class="alert alert-warning text-center">No Members</h4>
<# end no results #>

<# end list #>

Hashtag Markup for Delete Action: /members/delete-member
<# start list for group_memberships;
	include when member_id is "<#[url.id]#>";
#>
<# delete record for "group_memberships.<# id #>"; #>
<# end list #>

<# delete record for "members.<#[url.id]#>"; 
	redirect to "/members/list?index=<#[url.index]#>";
#>

The Members Mini-App uses the Hashtag Markup Language to demonstrate a user authentication process for #WebApps.

Member, Group, and Group Membership records are all stored in an SQL Database.   Methods are provided to create, update, and delete all of these records.  

Members Only pages restrict access based on group membership.